この記事でのバージョン
Unity 2018.4.1f1
DOTween v1.2.250 (DOTweenPro V1.0.155)
はじめに
Unityで位置や大きさなどのアニメーション、
いわゆるTweenを実装するアセットとしてお馴染みのDOTween。
DOTween Pro | Visual Scripting | Unity Asset Store |
そんなDOTweenをデフォルトの状態で使っていると、何やら警告が出る事があったりします。
DOTWEEN ► Tween startup failed (NULL target/property - ): the tween will now be killed ► The object of type 'Transform' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Debug:LogWarning(Object)
このまま使っても特に問題はないのですが、
警告が出っぱなしというのも気持ちが悪いので、今回はこれを表示しないようにする感じの話です。
セーフモード
そもそもDOTweenにはセーフモード(Safe Mode)というものがあります。
これは本当は問題あるけど、DOTweenが良い感じに対処してくれてるモード
みたいな感じで、デフォルトでは有効になっています。
そして「DOTweenが対処はしたけど、一応警告で教えておこう」というのが件の警告になりあます。
例えば以下のようにDOTweenでTween設定したオブジェクトを削除すると、
「Tweenさせるオブジェクトがないよ!」的なメッセージが表示されます。
//DOTweenの移動しようとしたのに transform.DOMove(Vector3.zero, 10); //なぜか直後に削除 Destroy(gameObject);
このセーフモードはTools/Demigiant/DOTweenUtilityPanelから開けるパネルの
PreferencesにあるSafe Modeのチェックを外せば解除する事が出来ます。
もちろん、セーフモードを切れば、警告はなくなりますが、
DOTweenが良い感じにしてくれていた部分がなくなるので、エラーが出るようになります。
セーフモード残したまま警告を非表示
上記のようにセーフモードを切ってしまうと実装が困難になるので、
次はセーフモード残したまま警告を非表示にする方法です。
と言っても、先程も出てきたパネルにある
PreferencesのLog BehaviourをErrors Onlyにするだけ。
ちなみにこのようにDOTweenの設定をすると、設定ファイルであるDOTweenSettingsが生成されますが、
その設定ファイルの位置もこのパネルから変更する事が出来ます。