2016-09-22 21 views
2

私はオブジェクトAとBを持っています。オブジェクトBをクリックすると、オブジェクトB(A面B)に回転します。 BはAと向き合っていません。私がする必要があるのは、次のとおりです: AがBに面するとき、私は反対方向に向くようにAが必要です。私はBを見るために回転するためのコードを持っています。その後、反対方向に回転する方法は?オブジェクトを反対方向に回転させる

Vector3 targetDirection = target - transform.position; 
float step = speed * Time.deltaTime; 
Vector3 newDirection = Vector3.RotateTowards (turretDome.transform.forward, targetDirection, step, 0.0F); 
turretDome.transform.rotation = Quaternion.LookRotation (newDirection); 

答えて

3

あなたはオブジェクトAが既にあなたがしたいすべてがその後、オブジェクトAの方向を反転され、オブジェクトBに直面していると言いますか?当然

turretDome.transform.rotation = Quaternion.LookRotation (-newDirection); 

、これらのスニペットの両方が平滑にする方法を示していないが:

objectA.transform.rotation = Quaternion.Inverse(objectA.transform.rotation) 

しかしはturretDomeが、その後、あなたがこれを行うことが(方向を否定)、オブジェクトAであることをあなたの例から想定することができますあなたはすでにtime.deltaTimeの使い方を知っているようです。

あなたが確信していない場合は、Quaternion.Lerpがこれを行うのに役立ちます

関連する問題