Open2
【Unity】動いている方向を向く
彗星みたいなエフェクトを作るために、動いてる方向から向きたい方向を割り出して、position移動するだけで向くべき方向に回転する処理。
内容はこちらブログ様のコピペ。忘れたときの備忘録としてメモ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParticleEffect : MonoBehaviour
{
private Vector3 latestPos;
void Update()
{
Vector3 diff = transform.position - latestPos; //前回からどこに進んだかをベクトルで取得
latestPos = transform.position; //前回のPositionの更新
//ベクトルの大きさが0.01以上の時に向きを変える処理をする
if (diff.magnitude > 0.01f)
{
transform.rotation = Quaternion.LookRotation(diff); //向きを変更する
}
}
}
未検証だがdiff.maginitudeの閾値(ここでは0.01fとハードコーディングされてる部分)を
publicなThresholdとして公開、if文の中にPlayOnShot()みたいな感じでパーティクル発火する処理いれば、ノイズ程度の微妙な動きは無視した演出が実装できると思われる。