您好,登錄后才能下訂單哦!
經過這幾天的學習,我發現很多的語句經常出現在我的代碼里,在這里我把它總結一下;
Camera.main.WorldToScreenPoint(); //將世界坐標轉化為屏幕坐標; Vector3.Lerp(currentPos,targetPos,time); //常用于平滑的移動位置; renderer.material.Color=Color.Lerp(currentColor,targetColor,time); //平滑的改變渲染顏色; transform.RotateAround(rotatePoint,rotateDirection,rotateAngles); //圍繞某一物體旋轉(rotatePoint:旋轉點,rotateDirection:旋轉方向,rotateAngles:旋轉角度)
例如:攝像機的平滑跟隨
Camera mainCamera=Camera.main; mainCamera.transform.position=this.transform.position+new Vector3(1,1,1); mainCamera.transform.position=Vector3.Lerp(mainCamera.transform.position,transform.position+new Vector3(1,1,1),Time.deltaTime);
有關時間Time:
Time.time; //當前的時間 Time.deltaTime; //上一幀所消耗的時間; Time.fixedTime; //固定增量時; Time.fixedDeltatime; //固定增量間隔時間; Time.SmoothDeltatime; //平滑DeltaTime;
關于旋轉角度:
Mathf.MoveToWardsAngle(currentAngle,targetAngle,rotateSpeed); //由當前角度旋轉到目標角度,返回的值是旋轉到目標角度的差值;
Quaternion target=Quaternion.Euler(0,60,0); //將目標角度定位圍繞y軸旋轉60度;
transform.Rotation=Quaternion.Lerp(target,transform.Rotation,rotaSpeed); //旋轉需要的角度賦值;
例如:炮塔面向敵人;
float currentAngles=transform.eulerAngles.y; transform.LookAt(target); float targetAngleY=transform.eulerAngles.y; float finalAngle=Mathf.MoveToWardsAngle(currentAngles.y,targetAngle,rotateSpeed); transform.localEulerAngles=new Vector3(0,finalAngle,0);
好了先說到這里吧,每天進步一小步,哈哈;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。