【Unity】往復処理
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ずっと、往復する
public class Forever_MoveSin : MonoBehaviour
{
public float speedX = 1; // スピードX:Inspectorで指定
public float speedY = 0; // スピードY:Inspectorで指定
public float speedZ = 0; // スピードZ:Inspectorで指定
public float second = 1; // かかる秒数:Inspectorで指定
float time = 0f;
private void FixedUpdate() // ずっと、往復する
{
time += Time.deltaTime;
float s = Mathf.Sin(time * 3.14f / second); // 移動量を求める
this.transform.Translate(speedX * s / 50, speedY * s / 50, speedZ * s / 50);
}
}
secondの値を変更すると、その値の秒数間でアタッチされたゲームオブジェクトが往復する。
下記のGifは
インスペクターから
second = 6
に値を変更した例
つまり、6秒間で往復を行う
Author And Source
この問題について(【Unity】往復処理), 我々は、より多くの情報をここで見つけました https://qiita.com/Unity_mametarou/items/893a69a4431cce26152d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .