「Unity/3d/ゆっくり移動」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==Leapを使ってゆっくり移動を== presentには0〜1を入れる。 <pre> float present = 0f; // 0~1 [SerializeField] GameObject startObj; [SerializeField] GameOb...」) |
|||
行12: | 行12: | ||
} | } | ||
</pre> | </pre> | ||
+ | ==Sleapを使って球状にゆっくり移動を== | ||
+ | presentには0〜1を入れる。 | ||
+ | <pre> | ||
+ | [SerializeField] GameObject startObj; | ||
+ | [SerializeField] GameObject endObj; | ||
+ | [SerializeField] GameObject nowObj; | ||
+ | void Update() | ||
+ | { | ||
+ | float distance = Vector3.Distance(startObj.transform.localPosition, endObj.transform.localPosition); | ||
+ | float present = (Time.time * speed) / distance/ 10; | ||
+ | nowObj.transform.localPosition = Vector3.Slerp(startObj.transform.localPosition, endObj.transform.localPosition, present); | ||
+ | }</pre> |
2022年12月10日 (土) 15:50時点における版
Leapを使ってゆっくり移動を
presentには0〜1を入れる。
float present = 0f; // 0~1 [SerializeField] GameObject startObj; [SerializeField] GameObject endObj; [SerializeField] GameObject nowObj; void Update() { present += 0.01f; nowObj.transform.localPosition = Vector3.Lerp(startObj.transform.localPosition, endObj.transform.localPosition, present); }
Sleapを使って球状にゆっくり移動を
presentには0〜1を入れる。
[SerializeField] GameObject startObj; [SerializeField] GameObject endObj; [SerializeField] GameObject nowObj; void Update() { float distance = Vector3.Distance(startObj.transform.localPosition, endObj.transform.localPosition); float present = (Time.time * speed) / distance/ 10; nowObj.transform.localPosition = Vector3.Slerp(startObj.transform.localPosition, endObj.transform.localPosition, present); }