時間経過でマテリアルが変更していくサンプルの解説

Udonスクリプト作成

サンプルの SendEventOnTimerをU#に書き直し

Udon Graph

U#

public class SendEventOnTimerBySharp : UdonSharpBehaviour
{
    public ChangesMaterialOnEventBySharp target;

    public float duration = 1;

    private float _lastTimerTick = 0;

    private void Update()
    {
        if (Time.time - _lastTimerTick < duration)
        {
            target.ChangeMaterial();
            _lastTimerTick = Time.time;
        }
    }
}

シーン作成

Cube配置してUdon Behaviourコンポーネントを追加するだけなので詳しい解説は割愛。

Update,FiexdUpdate,LateUpdateの違い

余談ですが、Update,FiexdUpdate,LateUpdateの違いについて説明します。

Update

フレームにつき 1 度呼び出されるメソッド。画面の描写前に呼ばれる。

FixedUpdate

一定間隔で呼ばれるメソッド。物理演算や当たり判定に関する処理はここで行う。具体的に言うとRigidBodyによる移動やColliderによる当たり判定はここは行ってください。

LateUpdate

Update 終了後に呼び出されるメソッド。一般的な使用方法は三人称カメラの追跡で、Updateでキャラクターを移動する処理をして、LateUpdateでカメラがキャラクターを追跡する処理を行えば、カメラが完全に移動したキャラクターに対して追跡することができます。

参考文献

イベント関数の実行順序

常に実行する処理を作成する

投稿ナビゲーション


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)