Unity Standard Assets 简介之 Cameras
这篇介绍Cameras资源包。

文件夹下有名为“CameraGuidelines.txt”的说明文档,简要介绍了各个预设的作用和用法。
Prefabs文件夹:
CctvCamera.prefab:

视角跟随指定游戏物体转动的摄像机预设,摄像机转动时位置保持不变。
FreeLookCameraRig.prefab:

对指定游戏物体作位置跟随的摄像机预设,可由玩家控制摄像机旋转。
HandheldCamera.prefab:

类似CctvCamera,增加了模拟手持摄像机轻微晃动效果的功能。
MultipurposeCameraRig.prefab:

对指定游戏物体作位置和旋转跟随的摄像机预设。
Scripts文件夹:
这个包的脚本间有比较完整的继承关系,所以我们先上个类图。

AbstractTargetFollower:

目标跟随脚本的基类。
m_Target:跟随目标
m_AutoTargetPlayer:是否自动跟随Tag为“Player”的游戏物体
m_UpdateType:刷新类型(FixedUpdate中更新、LateUpdate中更新或手动更新)
LookatTarget:

AbstractTargetFollower的子类,提供视角跟随功能,随目标移动旋转自身X轴和Y轴。
RotationRange:X轴和Y轴的旋转角度范围
FollowSpeed:跟随运动的速度
HandHeldCam:

LookatTarget的子类,增加了模拟手持摄像机的镜头晃动效果。
SwaySpeed:晃动速度
BaseSwayAmount:基础晃动范围
TrackingSwayAmount:跟随时的晃动范围
TrackingBias:跟随时晃动的偏移量
TargetFieldOfView:

AbstractTargetFollower的子类,主要配合LookatTarget使用,当视角转动时动态调整摄像机FOV,使目标在游戏视图中的显示大小保持不变。
FovAdjustTime:摄像机调整FOV所需要的时间
ZoomAmountMultiplier:FOV缩放系数,数值越大目标在游戏视图中显示越小
IncludeEffectsInSize:原代码未实现此字段功能
PivotBasedCameraRig:

AbstractTargetFollower的子类,作为基于三级结构的摄像机控制脚本的基类。
可通过调整Camera结点位置设定摄像机跟随时的偏移量。
AutoCam:

PivotBasedCameraRig的子类,提供可定制的摄像机跟随功能。
MoveSpeed:摄像机位移速度
TurnSpeed:摄像机视角旋转速度
RollSpeed:摄像机Z轴旋转速度
FollowVelocity:选中时,当目标移动速度大于阈值时使用该速度方向作为摄像机旋转朝向;否则使用目标旋转方向作为摄像机旋转方向
FollowTilt:是否跟随目标作Z轴旋转
SpinTurnLimit:旋转速度阈值,当目标旋转速度大于此值时摄像机停止跟随其旋转
TargetVelocityLowerLimit:若选中FollowVelocity,则当目标移动速度大于该值时,使用该速度方向作为摄像机旋转朝向
SmoothTurnTime:摄像机旋转的阻尼系数
FreeLookCam:

PivotBasedCameraRig的子类,提供摄像机位置跟随功能,可由玩家控制摄像机视角旋转。
MoveSpeed:摄像机位移速度
TurnSpeed:摄像机旋转速度
TurnSmoothing:摄像机旋转的平滑系数
TiltMax:旋转俯角的最大值
TiltMin:旋转仰角的最大值
LockCursor:是否锁定光标
VerticalAutoReturn:玩家输入停止后是否自动复位摄像机纵向旋转
ProtectCameraFromWallClip:

用于当摄像机贴近障碍物时,改变摄像机的位置以防止游戏画面被裁切。
ClipMoveTime:摄像机规避裁切运动的时长
ReturnTime:摄像机不裁切时的复位时长(一般需要高于ClipMoveTime)
SphereCastRadius:探测障碍物所用的射线半径
VisualiseInEditor:是否在编辑器窗口中绘制射线轨迹
ClosestDistance:摄像机与障碍物间的最小距离
DontClipTag:探测障碍物时,忽略具有此Tag的游戏物体
Unity Standard Assets 简介之 Cameras的更多相关文章
- Unity Standard Assets 简介之 其他资源
还有一些其他资源包,要不就是已经有Unity官方的介绍了,要不就是以资源为主没有多少脚本,最后集中说明一下. Effects资源包:包含各种图像特效,Unity官方文档地址 http://docs.u ...
- Unity Standard Assets 简介之 Utility
决定写这个系列起因于刚才的偶然所见,我发现当前版本的Unity有一个 Utility 标准资源包,里面有一个 FPSCounter 脚本提供了显示游戏运行帧率的基本功能,而我几周前刚刚写过一个同样功能 ...
- Unity Standard Assets 简介之 Vehicles
这篇介绍载具资源包Vehicles. 主要包含Aircraft(飞行器)和Car(车辆)两部分,两个文件夹里分别有AircraftGuidelines.txt和CarGuidelines.txt对相关 ...
- Unity Standard Assets 简介之 CrossPlatformInput
这篇介绍跨平台输入工具包CrossPlatformInput,主要包括 Prefabs 和 Scripts 两个文件夹: 由于该包中的脚本联系比较紧密,都是配合着去实现特定的功能,没有太大的独立可重用 ...
- Unity Standard Assets 简介之 Characters
这篇介绍Characters资源包.包含三个文件夹:FirstPersonCharacter.RollerBall.ThirdPersonCharacter. FirstPersonCharacter ...
- Unity Standard Assets 简介之 2D
这篇介绍2D资源包. 文件夹比较多,但是很多都是prefab的基础资源,所以我们只介绍 Prefabs 和 Scripts 文件夹. Prefabs文件夹: CharacterRobotBoy: 提供 ...
- Unity Standard Assets Example Project
参考链接:http://blog.csdn.net/jaikydota163/article/details/52751976
- Unity 3D类结构简介
趁着周末,再来一发.对于Unity3D,我也是刚开始学习,希望能够与大家多多交流.好了,废话不多说,下面继续. 本篇文章使用C#进行举例和说明.关于Unity 3D编辑器中的各种窗口,网上有很多资料了 ...
- Unity 3D入门简介
最近在刚开始学习Unity 3D,在这里记录一下学习心得和学习笔记,边学边写,可能会比较零散.好了,废话不多说,今天从Unity 3D入门写起,主要简要介绍一下Unity 3D的和一些学习资料.以下如 ...
随机推荐
- asp.net Literal
常用于动态向页面添加内容 Panel panel = new Panel(); Literal literal = new Literal(); literal.Text = "<br ...
- live555库中的testH264VideoStreamer实例
1.h264文件的推送 testH264VideoStreamer.cpp文件的开头就定义了 char const* inputFileName = "test.264"; 后面接 ...
- 【08-23】redis学习笔记
今天开始重拾linux,使用的是ubuntu发行版,主要是想在linux上学习redis,作为服务器端软件天然选择linux啊. 第一次使用ubuntu配置超级管理员密码: su passwd roo ...
- 【11-23】mysql学习笔记02
SQL的历史 SQL是Structed Query Language 的缩写,即”结构化查询语言” SQL原名是 sequel,后来由于法律原因,改名 SQL最早可以追溯到 1974 年,源于 IBM ...
- shell中的条件判断、参数以及变量替换
文章转自: http://www.cnblogs.com/maxupeng/archive/2011/07/02/2096551.html 一.test命令 test命令是shell内部命令,它计算作 ...
- visio二次开发——图纸解析之线段
多写博客,其实还是蛮好的习惯的,当初大学的时候导师就叫我写,但是就是懒,大学的时候,谁不是魔兽或者LOL呢,是吧,哈哈哈. 好了,接着上一篇visio二次开发——图纸解析,我继续写. 摘要: (转发请 ...
- UI第十三节——UIActionSheet
- (void)viewDidLoad { [super viewDidLoad]; UISwitch *swc = [[UISwitch alloc] initWithFrame ...
- mysql的DISABLE/ENABLE KEYS
有一个表 tbl1 的结构如下: CREATE TABLE `tbl1` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(20 ...
- sqlplus连接oracle失败分析和解决
背景: 多台Linux服务器需要安装Oracle客户端,实现和Oracle数据库连接做业务处理. 安装完第一台后,直接将安装的目录压缩并复制到其他几台机器上,启动sqlplus连接数据库时,一直提示输 ...
- 自写网站入门阶段之三:兼容大战与jq初探
自上一次作小结至今已整整一个月,在忙乎了半个月的工作之后闲下来的一个下午我终于可以再次作这个阶段的小结了.首先庆幸的是在同学的推荐下我顺利的找到了工作并于月初3号正式上班,这一点非常感谢他,让我免去了 ...