작성
·
515
0
_fSpeed = 10.0f;
_fYAngle += 10*_fSpeed*Time.deltaTime;
//+- 상대 회전값
transform.Rotate(new Vector3(0.0f, _fYAngle, 0.0f)); //특정 축을 기준으로 회전을 시키고 싶으면 이걸
transform.rotation = Quaternion.Euler(0.0f, _fYAngle, 0.0f); //물체의 절대적인 값
실습 도중 Rotate와 rotation에서 같은 변수를 줬는데 유니티를 실행시켜보니 회전속도에서 차이를 보이더군요.
그 이유가 뭘까 생각을 해봤는데 차이점을 찾아봤습니다.
1. Rotate는 따로 지정을 안 해주면 로컬, rotation은 월드
2.Rotate는 벡터값으로, rotation은 쿼터니엄으로 값지정
생각해봤을 때 1번 이유보다는 2번 이유때문에 차이를 보이는 것 같은데 Rotate는 바로 오일러 벡터값을 주고 rotate는 오일러 벡터값을 지정해주면 그걸 쿼터니엄으로 변환해서 준다로 생각하는데 여기서 발생하는 차이일까요?
오일러 값으로 줄 경우는 180도 이상의 각도도 인지되기 때문에 빠른 속도로 돌지만 쿼터니엄은 180도 이상은 표현 못하니 해당 회전값을 180도로 나눈 나머지 값 만큼으로만 인지를 해서 속도의 차이를 보인다고 판단했습니다.
제 결론이 맞는 걸까요?
--
추가적으로 vs2019를 사용하며 f1키를 이용해 ms 공홈에서 함수를 확인하는 걸 애용 했는데 유니티의 경우는 공홈에 접속해서 함수를 검색하는 방식을 이용하고 있습니다.
vs자체적으로 단축키를 통해 공홈에서 함수를 자동 탐색을 하는 방법이 있을까요?