본문 바로가기
정보/유니티

유니티 프레임 관련

by TeemoSoft 2014. 12. 30.




이동
transform.position = new Vector3(float, float, float);
- 절대좌표를 기준으로 위치시킴(순간이동)

transform.translate(new Vector3(float, float, float));
- 상대좌표를 기준으로 위치시킴(매 프레임마다 값만큼 이동)


회전
transform.rotation = Quaternion.Euler(float, float,  float);
- 절대좌표를 기준으로 회전시킴(순간 회전)

transform.Rotate(float, float, float);
- 상대좌표를 기준으로 회전시킴(매 프레임마다 값만 큼 회전)


프레임 고정
1) 'Edit -> Project Settings -> Time'을 선택 후 'InsPector'에서 'Fixed Timestep'값을 '0.01666667'로 하면 60프레임으로 고정.(30프레임은 '0.03333333'로 하면됨.)
단 'void Update ()'대신 'void FixedUpdate ()'를 사용해야 함.

2) 'Void Start ()'또는 'void Awake ()' 같이 시작시 한번 작동하는 함수에서 'Time.captureFramerate = 60;'를 적으면 디스플레이되는 프레임이 강제로 60프레임으로 변경.(30을 적으면 30프레임이 됨.)

http://nlbo75.blogspot.kr/2014/08/c.html




예전에는 강제로 60을 안바꿔주면 30으로 되서 항상 프레임레이트를 써줬었는데

이번에 4.6.1버전으로 작업할 때 보니 자동으로 60프레임이 되는 걸 보니 언젠지는 모르겠지만 업데이트가 된 모양이다