unity3d使用摄像机观察对象
2016-12-28 23:06
246 查看
先上效果图,这个开始的时候:
然后可以单击鼠标左键观察到下面的位置:
下面的代码:
using UnityEngine;
using System.Collections;
public class CameraContrller : MonoBehaviour {
public static CameraContrller Instance = null;
public float mDistance = 10;
private Vector3 mRot = new Vector3(-55, 180, 0);
private float mSpeed = 60;
private float mVx = 0;
private float mVy = 0;
private Transform mTransform;
public Transform target;
void Awake()
{
Instance = this;
mTransform = this.transform;
}
void Start()
{
//target = CameraPoint.Instance.transform;
Follow();
}
void LateUpdate()
{
if (Input.GetMouseButton(0))
{
float mx = Input.GetAxis("Mouse X");
float my = Input.GetAxis("Mouse Y");
Control(mx, my);
}
Follow();
}
void Follow()
{
mTransform.position = target.position;
mTransform.eulerAngles = mRot;
mTransform.Translate(0, 0, mDistance);
this.transform.LookAt(target);
}
public void Control(float mx, float my)
{
target.Translate(-mx, 0, -my);
}
}
然后可以单击鼠标左键观察到下面的位置:
下面的代码:
using UnityEngine;
using System.Collections;
public class CameraContrller : MonoBehaviour {
public static CameraContrller Instance = null;
public float mDistance = 10;
private Vector3 mRot = new Vector3(-55, 180, 0);
private float mSpeed = 60;
private float mVx = 0;
private float mVy = 0;
private Transform mTransform;
public Transform target;
void Awake()
{
Instance = this;
mTransform = this.transform;
}
void Start()
{
//target = CameraPoint.Instance.transform;
Follow();
}
void LateUpdate()
{
if (Input.GetMouseButton(0))
{
float mx = Input.GetAxis("Mouse X");
float my = Input.GetAxis("Mouse Y");
Control(mx, my);
}
Follow();
}
void Follow()
{
mTransform.position = target.position;
mTransform.eulerAngles = mRot;
mTransform.Translate(0, 0, mDistance);
this.transform.LookAt(target);
}
public void Control(float mx, float my)
{
target.Translate(-mx, 0, -my);
}
}
相关文章推荐
- [Unity3d]使用摄像机制作实时显示小地图
- [Unity-14] Unity3d中使用摄像机制作实时显示小地图
- 对象是什么?使用Martin Fowler来观察对象
- Angular使用可观察对象的数据架构
- unity提高----------射线使用【unity3d 怎样获得当前鼠标点击的对象】
- unity3d中使用proto对象进行序列化和反序列化
- unity3d中使用DoTween来控制2D摄像机视口的移动
- unity3d的playmaker插件使用教程,三、对象出入触发,声音播放
- QPointer,QSharedPointer,QWeakPointer的区别与使用例子(QSharedPointer类似Delphi里的引用计数,是强引用,而QWeakPointer是弱引用,不影响原始对象的引用计数,相当于是在暗中观察对象,但保持联系,需要的时候就会出现)
- [Unity3d]使用摄像机制作实时显示小地图
- unity3d中摄像机只看对应的对象.
- 【Unity3D5.6版本使用(1)】自定义编辑器获取场景所有对象Tag生成Json
- Unity3D c# 使对象物体始终面向摄像机。
- Unity3D学习之使用摄像机制作实时显示小地图
- unity3d的playmaker插件使用教程,三、对象出入触发,声音播放
- unity3d 使用c#如何访问某个对象里的c#脚本里的一个变量
- Unity3D 使用 A 星寻路(摄像机移动、缩放优化)
- Unity3D学习(二):使用JSON进行对象数据的存储读取
- 【Unity3D入门教程】使用C#脚本控制游戏对象
- 使用JCS在Web门户应用中实现对象缓存(1)