经过这几天的学习,我发现很多的语句经常出现在我的代码里,在这里我把它总结一下;

Camera.main.WorldToScreenPoint();//将世界坐标转化为屏幕坐标;Vector3.Lerp(currentPos,targetPos,time);//常用于平滑的移动位置;renderer.material.Color=Color.Lerp(currentColor,targetColor,time);//平滑的改变渲染颜色;transform.RotateAround(rotatePoint,rotateDirection,rotateAngles);//围绕某一物体旋转(rotatePoint:旋转点,rotateDirection:旋转方向,rotateAngles:旋转角度)

例如:摄像机的平滑跟随

CameramainCamera=Camera.main;mainCamera.transform.position=this.transform.position+newVector3(1,1,1);mainCamera.transform.position=Vector3.Lerp(mainCamera.transform.position,transform.position+newVector3(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); //旋转需要的角度赋值;

例如:炮塔面向敌人;

floatcurrentAngles=transform.eulerAngles.y;transform.LookAt(target);floattargetAngleY=transform.eulerAngles.y;floatfinalAngle=Mathf.MoveToWardsAngle(currentAngles.y,targetAngle,rotateSpeed);transform.localEulerAngles=newVector3(0,finalAngle,0);

好了先说到这里吧,每天进步一小步,哈哈;