【3Dゲームエンジン】Unity質問スレッド14 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0342名前は開発中のものです。
2014/12/22(月) 19:50:50.67ID:6wTlTTx9厳密さの問題はあるし最後のフレームだけは完全に等速とは
いかないがLerpでもできるしなんとでもなるだろう。
何がやりたくてどんなコード書いてんのかわからなけりゃなんともいえんよ。
例えば
(略
float speed=3f;
public Vector3 targetPos=new Vector3(100,100,100);
void Update(){
Vector3 distance=targetPos-transform.position);
if(distance.magnitude>speed*Time.deltaTime)
transform.position=(targetPos-transform.position).normalized*speed*Time.deltaTime;
else transform.position=targetPos;
}
とかか?lerp使うのは
(略
float speed=3f
float spCoef,posRate;
Vector3 prePos,lastPos;
void Start(){
prePos=transform.position;
lastPos=new Vector3(100,100,100);
spCoe=1/((lastPos=prePos).magnitude/speed);
posRate=0;
}
void Update(){
posRate=((posRate+Time.deltaTime*spCoef)<1)?posRate+Time.deltaTime*spCoef:1;
transform.position=Vector3.lerp(prePos,lastPos,posRate);
}
とかか?まぁlerp使うのは妙っちゃ妙かもな〜。ちなみにテストはしてないので多分なんかおかしい。
とにかくコードは書いとけ。わからんし。
■ このスレッドは過去ログ倉庫に格納されています