Unity3D 自由视角代码之解析

本文介绍了Unity3D中实现自由视角观察物体的代码,重点解析了视角限制和摄像机位置计算。通过调整Distance实现视角远近控制,并探讨了角度限制在-20到80度的原因。代码分析了如何保持摄像机与目标的距离以及面向目标,强调了-distance负号的重要性。
摘要由CSDN通过智能技术生成

效果:实现对物体的自由视角观察


本代码是《Unity3D游戏开发》一书中,7-11的例子,其中有几处注释是我个人的分析

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
	//摄像机参照的模型
	public Transform target;
	//摄像机距离模型的默认距离
	public float distance = 20.0f;
	//鼠标在x轴和y轴方向移动的速度
	float x;
	float y;
	//限制旋转角度的最小值与最大值
	float yMinLimit = -20.0f;
	float yMaxLimit = 80.0f;
	//鼠标在x和y轴方向移动的速度
	float xSpeed = 250.0f;
	float ySpeed = 120.0f;
	// Use this for initialization
	void Start () {
		//初始化x和y轴角度,使其等于参照模型的角度
		Vector2 Angles = transform.eulerAngles;
		x = Angles.y;
		y = Angles.x;

		if (gameObject.GetComponent<Rigidbody>() != null) {
			gameObject.GetComponent<Rigidbody>().fre
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值