2016-04-15 3 views
1

これで、ワールドスペースのキャンバスをプレイヤーオブジェクトにアタッチしました。私はオブジェクトにアニメーターを追加するまでワールドスペースキャンバスのアニメーター

myWorldCanvas.SeActive(true); 

これは完全に働いた:右の条件が満たされたとき

GameObject myWorldCanvas; 

Awake() 
{ 
myWorldCanvas= transform.FindChild("nameOfObject").gameObject; 
} 

は、その後、私は単純に、このようなオブジェクトをアクティブに:私のスクリプトでは、私はこのような参照を持っています。シーン内のオブジェクトを手動で有効/無効にすると、アニメーションは完全に機能します(ポップ効果を与えるようにスケールが変更されます)。オブジェクトがスクリプトによってアクティブ化されてもアニメーションは再生され、スケール値は変更されますが、レンダリングされる。再生モードで、アニメーションを手動で有効/無効にする場合

アイデア?さらに情報や画面が必要な場合は、私に知らせてください。

編集:キャンバスにはいくつかのボタンがあり、何かの上にマウスを置くと画像が更新され、画像が画面に表示されます。

編集:キャンバスコンポーネントを手動で無効にして有効にすると画像も表示されることが、さらにテストで示されていますが、キャンバスとゲームオブジェクトがスクリプトから有効になっている場合は画面に何も表示されません。

編集:アニメーションの最初のキーでキャンバスコンポーネントを無効にしてから、Yスケールが0に設定されている2番目のもので有効にすることで問題を解決しました。これはハックのようなものです。なぜこれが起こっているのか誰にも分かりますか?

答えて

0

だから問題はアニメーションがキャンバスをxyz軸上の0からスケーリングしていたことです。 0.1からのスケーリングを開始するようにアニメーションを変更すると、問題が修正されました。

0

私はこの問題を知っています。 Unityのアニメーションウィンドウの機能のためです。

アニメーションウィンドウでは、オブジェクトの状態をアニメーションに記録できます。これは、アニメーションウィンドウの左上隅の赤い円トグルを押すことで消すことができます。しかし、あなたがそれを忘れると、キャンバスを有効または無効にすることを含め、すべてのアクションを自動的に記録します。

これは非常に面倒な機能ですが、無効にする方法はわかりません。だから、使用しないときはアニメーションウィンドウを閉じることを忘れないでください。

+0

あなたはそれを取得していないようです。アニメーションに無効/有効を追加すると、問題が解決しました。キャンバスに問題があります –

+0

あなたは問題を解決したアニメーターを無効にすることを意味しましたか? – DRKblade

+0

いいえアニメーションの最初の2つのキーでキャンバスコンポーネントを無効にして有効にすると、問題が解決しました –

関連する問題