티스토리 툴바


엔진/unity3d2012/02/14 12:41
               
월드 좌표계를 지역 좌표계로 옮겨서 회전값을 구함.

                Transform from,  Transform to

// 1. 현재 오브젝트에서 타켓 오브젝트까지의 Vector를 구하기(월드 좌표계에서 지역 좌표계로 이동시키기)
Vector3 objToTargetVec = to.position - from.position; 
objToTargetVec = from.InverseTransformDirection(objToTargetVec);   
objToTargetVec.Normalize();   // 노말라이즈
// 2. 지역 좌표계에서 기준 Vector(여기서는 Up)로 해서 회전값 구하기 
Vector2 objToTargetProj = new Vector2(objToTargetVec.x, objToTargetVec.y); 
float angleToRot = Vector2.Angle(Vector2.up, objToTargetProj); 
// 3. x값이 음수이면 회전은 반대 방향
if(objToTargetProj.x > 0){ 
angleToRot *= -1; 

               // 4. 쿼터니언 구하기 
   Quaternion quat = Quaternion.AngleAxis( angleToRot, Vector3.forward);



 
저작자 표시
Posted by 붉은용기병