【Unity】Asset「DOTween」のSafe modeについて

UIやオブジェクトをTweenさせる時に、外部のアセットを使うと簡単に実装ができます。 DOTweenというAssetがあるのですが、最近はこちらを使って実装をしています。 このDOTweenには「 Safe mode」がとても便利?なので、今回ブログに書いていきたいと思います。

Safe mode

「Safe mode」とは何なのか。 DOTweenのHPを見てみると、以下のように書かれています。 Safe mode Activate the optional safe mode and let DOTween take care of unexpected occurrences, like a tween's target being destroyed while playing.

大体の意味は「Tweenが走っている時に対象のオブジェクトがDestroyされた場合、安全に処理ができる」のような感じです。

HOTween

HOTweenというAssetをご存知でしょうか? これはDOTweenの前のバージョンがこう呼ばれていました(います)。 同じTweenを実装できるAssetなのですが使っている場合に、良くNullのエラーが出ていました。 [c] // Unityで良く見かけるエラーですね。 Null Reference Exception ......... [/c]

色々と対策を施すのですが、エラーが出てくるのです。

Safe Modeとは

これが、DOTweenではどうなったか。 HOTweenだとNullが出るところを、DOTweenで置き換えてみるとどうなるのでしょうか? [c] DOTWEEN :: An error inside a tween callback was silently taken care of > Object reference not set to an instance of an object [/c]

上記の文言が表示されます。 これはエラーではなくWarningで表示されます。 これが「Safe Mode」です。

コードを見てみる

DOTweenはオープンソースなので、GitHubにコードが公開されています。 これを参考に該当の箇所を見てます。 dotween/Tween.cs · GitHub

例外で処理を行っているのがわかります。

最後に

「Safe Mode」があるからといって根本的な解決策にはならないので、該当箇所はWarningが出ないように修正をするべきです。 ただ、こういったもしもの機能があると実際にアプリで使う場合安心ですね。 Assetを選ぶ際には、こういった安全面がどうなっているのかも調べる必要があります。

Unity5ゲーム開発レシピ ハマるゲーム制作のノウハウUnity5ゲーム開発レシピ ハマるゲーム制作のノウハウ
BATA,まつだす

翔泳社
売り上げランキング : 19452

Amazonで詳しく見る