セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

Unity アニメーション遷移 Can Transition To Self

Animator 内の Any State から遷移するアニメーションのインスペクター内に、Can Transition To Self というチェックマークがあります。

f:id:thinline196:20170125222707p:plain



これをチェックしていると、遷移先がない場合、又は遷移条件になっていない場合に、今の状態が繰り返し実行されます。

もう少し詳しく書くと、今このAny Stateから遷移したアニメーション中にもう一度同じアニメーションに遷移できるかということを決めているっぽいです。アニメーション実行中にAny Stateからまたアニメーションを実行しろと言われるので、実質ループしているように(実際にはバグったように)見えてしまいました。


うまく回避するには、遷移のために使用したParamaetersのフラグ、値などを一度遷移条件外にすることです。例えば、Deadフラグがあったとしたら、アニメーションの遷移を確認してすぐフラグをfalseにすることで、バグっぽい挙動を直すことができます。
逆に、deadフラグは死亡した時に立てるということで、もう復活することもないやってことであれば、Can Tramnsition To Selfのチェックを外してやることに寄って、フラグをわざわざ書き換えなくても、挙動がおかしくなることはありません。



使いどころとしては、ガードアクション中にもう一度攻撃を受けたらガード中にまたガードアクションをするといったようなかぶせ気味の演出などにでしょうか。

Github An unexpected error has occurred

・An unexpected error has occurred
・failed to refresh the working directory

ああなんて恐ろしい言葉なんだろう、、、、、

原因は様々あると思いますが、ネットの’情報が少なく、原因の特定方法にすら苦労したので、すでに解決してしまいスクショなどは皆無だけれど、一応書き残しておきます。

環境

・主に作業で使っていたMac(Sierra)
・久しぶりにSyncしたら上記のエラーが発生したWindows(10)


やってみたことその1

Windows側のデータを削除して、cloneをしてもらう

結果:同じエラー

やってみたことその2

Github Desktopの再インストール

結果:同じエラー

やってみたことその3

Macで新しいgitアカウントを使い、cloneを実行

結果:エラー出ず、通常運転

やってみたことその4

Macでプロジェクトをエクスポート->Windowsでインポート

結果:プロジェクト内のフォルダ名が、読み取り不可になっていた。


最終的に

フォルダを削除したら、無事cloneが成功。MacWindowsでの文字コードの違いから起こったエラーではないかと予想。直すのに必死で、全くスクショを取っていなかったので、事後報告になってしまった笑 ただ、よく思い返したら、エラーが出ていた際のログファイルにも、文字が読めませんでしたニュアンスのログが残っていた気もする。。。。その時はスルーしちゃったけど(だってMacで普通に動いていたし、、)ログファイルは一応しっかり読もう。

 今回のようにMacWindows間の文字のトラブルは意外と多いので、Gitで共有している時に、謎のエラーが出たらまずエクスポートを使用して、unityのエラーとして把握できると、gitで無造作にエラーを出されるよりは、解決の糸口が見つかりやすいかもしれない。


f:id:thinline196:20170110215856p:plain