質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1853閲覧

Timelineでスクリプトの変数を操作できない

ryo0o0o

総合スコア9

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/02/22 14:18

発生している問題

unity の timeline の animation track で変数を操作したいのですが、なぜか操作はされるのですがエフェクトが作動しません。
手動だと作動するんですが timeline だとしません。どうすればいいですか?
操作するスクリプトはこのサイトのものです。

イメージ説明
![イメージ説明]
イメージ説明
イメージ説明
手動だとできる。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

FadeImageを見ますに、実行時に操作する場合はcutoutRangeフィールドをダイレクトに操作するのではなく、Rangeプロパティを使うことを想定されているようです。
おそらく現状ではFadeCanvasオブジェクトを選択した状態で「Animation」ビューを見てみると、アニメーション対象として「FadeCanvas:Fade Image.Cutout Range」と「FadeCanvas:Fade Image.Enabled」ができているかと思うのですが、これらはひとまず削除して初期状態に戻してみてください。

そしてRangeプロパティを操作するための補助スクリプトとして下記のようなものを作り...

C#

1using UnityEngine; 2 3[ExecuteAlways, RequireComponent(typeof(IFade))] 4public class FadeRangeAnimationHelper : MonoBehaviour 5{ 6 [Range(0, 1)] public float range; 7 private IFade fade; 8 9 private void Update() 10 { 11 if (this.fade == null) 12 { 13 this.fade = this.GetComponent<IFade>(); 14 } 15 16 if (this.fade.Range != this.range) 17 { 18 this.fade.Range = this.range; 19 } 20 } 21}

これをFadeCanvasに追加アタッチし、「Timeline」ビュー上であらためてこのスクリプトの「Range」を操作するようにアニメーションを設定してみてはいかがでしょうか。

投稿2020/02/23 00:59

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo0o0o

2020/02/23 05:45

ありがとうございます。とても助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問