摄像机碰到后面物体缩进视口
2013-08-26 11:32
267 查看
var camera1:Camera; var mousescrollwheel_y:float; //摄像机Y轴的点
var mousescrollwheel_z:float; //摄像机z轴的点
var sensitivityW:float=5; //滚轮敏捷var pnearviewZ:float=-1; //离近的z点距离
var pnearviewY:float=-1; //离近的Y点距离
var meetdistance:float=3; //光线的距离var nearview_y:float=-1; //最小Y
var farview_y:float=-5; //最大Y
var nearview_z:float=-1; //最小Z
var farview_z:float=-10; //最大Z
function Start ()
{
mousescrollwheel_z=camera1.transform.localPosition.z;
mousescrollwheel_y=camera1.transform.localPosition.y;
}function Update () {mousescrollwheel_z += Input.GetAxis("Mouse ScrollWheel")*sensitivityW;
mousescrollwheel_y += Input.GetAxis("Mouse ScrollWheel")*sensitivityW;
if(mousescrollwheel_z>nearview_z){mousescrollwheel_z=nearview_z;}
else if(mousescrollwheel_z<farview_z){mousescrollwheel_z=farview_z;}
if(mousescrollwheel_y>nearview_y){mousescrollwheel_y=nearview_y;}
else if(mousescrollwheel_y<farview_y){mousescrollwheel_y=farview_y;}
camera1.transform.localPosition.z=mousescrollwheel_z;
camera1.transform.localPosition.y=-mousescrollwheel_y;
var fwd = transform.TransformDirection (-(Vector3.forward));
var hit:RaycastHit;
if (Physics.Raycast (transform.position, fwd, hit,meetdistance)) {
if(hit.transform.tag=="wall"){
camera1.transform.localPosition.z=pnearviewZ;
camera1.transform.localPosition.y=-pnearviewY;
}
}}
var mousescrollwheel_z:float; //摄像机z轴的点
var sensitivityW:float=5; //滚轮敏捷var pnearviewZ:float=-1; //离近的z点距离
var pnearviewY:float=-1; //离近的Y点距离
var meetdistance:float=3; //光线的距离var nearview_y:float=-1; //最小Y
var farview_y:float=-5; //最大Y
var nearview_z:float=-1; //最小Z
var farview_z:float=-10; //最大Z
function Start ()
{
mousescrollwheel_z=camera1.transform.localPosition.z;
mousescrollwheel_y=camera1.transform.localPosition.y;
}function Update () {mousescrollwheel_z += Input.GetAxis("Mouse ScrollWheel")*sensitivityW;
mousescrollwheel_y += Input.GetAxis("Mouse ScrollWheel")*sensitivityW;
if(mousescrollwheel_z>nearview_z){mousescrollwheel_z=nearview_z;}
else if(mousescrollwheel_z<farview_z){mousescrollwheel_z=farview_z;}
if(mousescrollwheel_y>nearview_y){mousescrollwheel_y=nearview_y;}
else if(mousescrollwheel_y<farview_y){mousescrollwheel_y=farview_y;}
camera1.transform.localPosition.z=mousescrollwheel_z;
camera1.transform.localPosition.y=-mousescrollwheel_y;
var fwd = transform.TransformDirection (-(Vector3.forward));
var hit:RaycastHit;
if (Physics.Raycast (transform.position, fwd, hit,meetdistance)) {
if(hit.transform.tag=="wall"){
camera1.transform.localPosition.z=pnearviewZ;
camera1.transform.localPosition.y=-pnearviewY;
}
}}
相关文章推荐
- unity3d摄像机碰到后面物体缩进视口
- UGUI 之 制作敌人不在摄像机视口的UI方向提示(或检测物体在不在摄像机渲染范围内)(四)
- u3d之世界坐标系,屏幕坐标系,视口坐标系,如何获取物体距离摄像机的距离
- UGUI 之 制作敌人不在摄像机视口的UI方向提示(或检测物体在不在摄像机渲染范围内)(四)
- 从摄像机发射一个Ray(射线)销毁碰到的物体
- 鼠标控制摄像机围绕物体旋转拍摄
- 鼠标控制摄像机旋转,平移,物体的移动
- EndNote文献悬挂缩进的设置方法及设置参考文献序号后面空格长度
- [Unity基础]让物体朝摄像机观察方向移动(一)
- Ogre_初学指导_5_"场景元素:平面、光源、阴影、摄像机、视口"
- Unity3D c# 使对象物体始终面向摄像机。
- Unity3D开发之控制摄像机围绕物体旋转 平移 缩放
- Unity3D for VR 学习(4): 自绘摄像机的视口区域锥体
- 摄像机围绕物体旋转观察
- 基于一维物体的摄像机定标
- word里的自动编号后面的缩进(编号与文字的间距)
- 【笔记】二、摄像机、视口、光照、阴影
- Unity3D【脚本】点击物体后屏幕放大 - (射线、坐标的转换、摄像机的移动和改变属性)
- 视口与摄像机 (viewport & camera) 翻译
- 摄像机视口屏幕投射