当前位置: 编程技术>移动开发
本页文章导读:
▪unity 固定摄像机 unity 固定摄影机
#pragma strict
@script AddComponentMenu("Level4/Cameras/FixedCamera")
///////////////////////////////////////////////////////////
//固定角度摄影机,主体
//思路:用变量offsetPos存放,摄影机与target的位置关系.........
▪ unity追踪摄影机 unity跟踪摄影机
@script AddComponentMenu("Level4/Cameras/FollowCamera")
////////////////////////////////////
//跟随 摄影机
////////////////////////////////////
/**摄影机的目标*/
var target:Transform;
/**
与目标位置的偏移向.........
▪ ftp资料的上传与下载 ftp文件的上传与下载
http://www.cnblogs.com/chen1987lei/archive/2010/11/03/1867668.html
上面是一个我觉得写得很好的文章
......
[1]unity 固定摄像机
来源: 互联网 发布时间: 2014-02-18
unity 固定摄影机
#pragma strict @script AddComponentMenu("Level4/Cameras/FixedCamera") /////////////////////////////////////////////////////////// //固定角度摄影机,主体 //思路:用变量offsetPos存放,摄影机与target的位置关系, //修改offsetPos可以对摄影机的位置实现不同的控制. /////////////////////////////////////////////////////////// /**摄影机的目标*/ var target:Transform; /**与目标位置的偏移向量*/ var offsetPos:Vector3 = Vector3(0,4,-4); /**跟随target的速度*/ var followSpeed:float = 0.2; function Update(){ if(target){ UpdatePosition(); } } function Start(){ SetupCamera(); } /** 设定 摄影机的旋转量. */ function SetupCamera(){ transform.rotation = Quaternion.LookRotation(-offsetPos); } //更新 摄影机的坐标. private function UpdatePosition(){ var targetPos:Vector3 = target.position + offsetPos; transform.position = Vector3.Lerp(transform.position,targetPos,followSpeed); }
#pragma strict @script AddComponentMenu("Level4/Cameras/FixedCameraMouseMove") @script RequireComponent(FixedCamera); ////////////////////////////////////////////////////// ///固定角度摄影机,鼠标控制 ////////////////////////////////////////////////////// private var target:Transform; private var fixedCamera:FixedCamera; private var totalOffset:Vector3 = Vector3.zero; /**移动的速度*/ var moveSpeed:float = 0.2; /**xz平面,左下角坐标*/ var minPos:Vector3 = Vector3(-3,0,-6); /**xz平面,右上角坐标*/ var maxPos:Vector3 = Vector3(3,0,1); function Start(){ fixedCamera = GetComponent(FixedCamera); target = fixedCamera.target; } function Update(){ MouseMoveCamera(); } /** 通过鼠标移动视野. h,x方向. v,z方向. */ private function MouseMoveCamera(){ var h:float = Input.GetAxis("Mouse X"); var v:float = Input.GetAxis("Mouse Y"); var dir:Vector3 = Vector3(h,0,v); dir *= moveSpeed; var offsetPos:Vector3 = fixedCamera.offsetPos + dir; //-----------------------------------限制. offsetPos.x = Mathf.Clamp(offsetPos.x , minPos.x , maxPos.x); offsetPos.z = Mathf.Clamp(offsetPos.z , minPos.z , maxPos.z); fixedCamera.offsetPos = offsetPos; }
#pragma strict @script RequireComponent(FixedCamera) ////////////////////////////////////////////////////// ///固定角度摄影机.滚轮缩放 ////////////////////////////////////////////////////// private var fixedCamera:FixedCamera; /**滚轮响应速度*/ var viewSpeed:float = 2; /**yz平面,前下角坐标*/ var minPos:Vector3 = Vector3(0,4,-8); /**yz平面,后上角坐标*/ var maxPos:Vector3 = Vector3(0,8,-4); function Start(){ fixedCamera = GetComponent(FixedCamera); } function Update () { UpdateView(); } //更新视野.通过更新摄影机坐标来实现. private function UpdateView(){ var val:float = Input.GetAxis("Mouse ScrollWheel"); if(val != 0){ val *= viewSpeed; var yPos:float = -val; var zPos:float = val; var offsetPos:Vector3 = fixedCamera.offsetPos; offsetPos += Vector3(0,yPos,zPos); offsetPos.y = Mathf.Clamp(offsetPos.y , minPos.y , maxPos.y); offsetPos.z = Mathf.Clamp(offsetPos.z , minPos.z , maxPos.z); fixedCamera.offsetPos = offsetPos; } }
[2] unity追踪摄影机
来源: 互联网 发布时间: 2014-02-18
unity跟踪摄影机
@script AddComponentMenu("Level4/Cameras/FollowCamera") //////////////////////////////////// //跟随 摄影机 //////////////////////////////////// /**摄影机的目标*/ var target:Transform; /** 与目标位置的偏移向量 y: 影响摄影机的视角. z: 影响摄影机与跟随目标的距离 */ var offsetPos:Vector3 = Vector3(0,2,-4); /**跟随target的速度*/ var followSpeed:float = 0.1; function Update(){ UpdateCamera(); } /** 更新摄影机 */ function UpdateCamera(){ transform.rotation = target.rotation; transform.Translate(offsetPos * followSpeed); //线性移动过去 transform.position = Vector3.Lerp(transform.position,target.position,followSpeed); //直接到位 // transform.position = target.position; transform.rotation *= Quaternion.LookRotation(-offsetPos); }
@script RequireComponent(FollowedCamera) ////////////////////////////////////////////////////// ///跟随摄影机,滚轮缩放功能 ////////////////////////////////////////////////////// /**摄影机最小偏移位置*/ var minPos:Vector3 = Vector3(0,1,-8); /**摄影机最大偏移位置*/ var maxPos:Vector3 = Vector3(0,8,-4); /**滚轮响应速度*/ var scrollWheelSpeed:float = 2; /**视野 调节速度*/ var viewSpeed:float = 0.7; //跟随摄影机的实例. private var followedCamera:FollowedCamera; function Awake(){ followedCamera = GetComponent(FollowedCamera); } function Update () { UpdateView(); } //更新视野.通过更新摄影机坐标来实现. private function UpdateView(){ var val:float = Input.GetAxis("Mouse ScrollWheel"); if(val != 0){ val *= scrollWheelSpeed; var yPos:float = val; var zPos:float = -val; var offsetPos:Vector3 = followedCamera.offsetPos; offsetPos += Vector3(0,yPos,zPos); offsetPos.y = Mathf.Clamp(offsetPos.y,minPos.y,maxPos.y); offsetPos.z = Mathf.Clamp(offsetPos.z,minPos.z,maxPos.z); //folloedCamera.offsetPos = offsetPos; followedCamera.offsetPos = Vector3.Lerp(followedCamera.offsetPos,offsetPos,viewSpeed); } }
[3] ftp资料的上传与下载
来源: 互联网 发布时间: 2014-02-18
ftp文件的上传与下载
http://www.cnblogs.com/chen1987lei/archive/2010/11/03/1867668.html
上面是一个我觉得写得很好的文章
最新技术文章: