当前位置: 编程技术>移动开发
本页文章导读:
▪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
上面是一个我觉得写得很好的文章
最新技术文章: