转载请注明出处
http://blog.sina.com.cn/u/1580340211
camView=ViewMode.SuperView;
最近总监把之前的项目导出发现有相机乱晃动的情况,后来发现竟然是Unity版本的问题,之前的3.5的版本导入到4.0里面(因为用的是64bit的win7),导出成x64的时候竟然出现了很大的问题,于是总监建议自己写一个结合mouselook和move的代码,虽然在人视模式的时候没有完全消除刚体碰撞带来的影响,代码还没有足够的优化,但是基本的切换已经实现了(话说因为不知道什么叫人视模式还被boss鄙视了....)
using UnityEngine;
using System.Collections;
public class RotandMove_Camera : MonoBehaviour {
private Vector3 oldMousePos;
private Vector3 newMosuePos;
private Texture2D gogj;
public GameObject currentCamera=null;
public GameObject currentCam_root=null;
public float moveSpeed=0.1f;
public float rotSpeed=15.0f;
public float scalSensetive=10.0f;
public float minFov=15.0f;
public float maxFov=90.0f;
public float minimumY = -60F;
public float maximumY = 60F;
public float personHeight=2.0F;
public float middleMoveSpeed=0.1F;//鼠标中间控制相机的速度
public GameObject cube;
private Vector3 origiPos;
private Vector3 origiUp;
private Vector3 origiRight;
private string viewString="Person Veiw";
public enum ViewMode { SuperView = 0, PersonView = 1 }
public ViewMode camView = ViewMode.PersonView;
// Use this for initialization
void OnGUI()
{
if(GUILayout.Button("SuperView",GUILayout.Height(50)))
{