Adventure-Creator-3Dtutorial-Part2
The Default Camera
在Scene Manager窗口中点击新建Default Camera,并将生成的NavCam 1移动到开始时Main Camera所在的位置
选择NavCam 1 ,在inspector窗口中的Game Camera脚本里解锁X-axis movement,并将其中的Offset改为4.91,其中的influence = 1参数指的是目标移动一个单位,摄像机也移动一个单位,打开Constrain,最小-17,最高40
解锁Spin rotation,Affect by:Look At Target,Target height offset 1.08,让角色移动时摄像机跟随旋转
解锁 Field of view,offset设为-30.06,打开Constrain,最小20,最高60,让角色距离镜头太远时能够缩放焦距
在运行模式下修改完摄像机数据,记得复制component
Using Triggers
我们这次使用trigger来改变当前摄像机
- 在Scene Manager中新建GameCamera,命名为NavCam Platform,将这个Camera放在角色去会客厅时距离比较近的位置。
在Scene Manager中新建Trigger,选中并命名为Trigger_PlatformCamera,在Trigger脚本中,进行编辑
“Run In Background”是相对于“Pause Gameplay”的模式,Player触发Trigger时不会使菜单因为暂停而闪烁消失
我们不新建Trigger对象,而是在这个Trigger对象里面再添加一个trigger脚本,然后编辑
这样Player离开Trigger区域时会自动返回主摄像机
Hotspots and Interactions
制作Hotspot之前,先设定一下电梯门的动画,由于这个电梯门是自带打开关闭和停止三个动画的,所以设置动画时需要特别更改一些参数
首先,选中My 3D Game文件夹,新建一个animatorcontroller命名为LiftController,双击打开,然后在TutorialFiles——Set——Lift中把LiftDoorsClose、LiftDoorsOpen、LiftDoorsShut拉取进去
选中LiftDoorsShut右键——Set as Layer Default State。新建Parameter——int——命名为State,在Any State中分别向三个动画片段添加transform
编辑这三个Transition的条件,注意将它们的Transition Duration都设为0,Can Transiton To Self都关闭(防止重复第一帧),然后LiftDoorsShut的条件是State Equals 0、LiftDoorsOpen的条件是State Equals 1、LiftDoorsClose的条件是State Equals 2
在hierarchy窗口中——SetGeometry——Lift,将LiftController放进Animator里面
创建Lift HotSpot
在Scene Manager窗口中新建HotSpot,命名为HotSpot_Lift,选中这个HotSpot,移动并缩放填满电梯门口,在Inspector窗口中Label填写“电梯”
然后点击新建Use interactions,Cursor 选择 Lookat,Player action选择Turn to face,新建interaction
选中这个interaction,Action type选择Dialogue Playspeech,Line text输入“我可以搭乘电梯出去”
在Settings manager——interface settings里面,可以选择交互方式,这里是choose Hotspot then interaction
回到Hotspot_Lift,接着新建Use interaction,Cursor 选择 Use,Player action选择Walk To Marker,新建interaction和Marker,勾选Face after moving
这个Marker放在电梯前面,在Scene Manager窗口中,新建Simple 摄像机,镜头放在电梯前面,命名为Camera_Lift,然后再新建一个Marker,命名为Marker_Inside Lift,放在电梯里面,再新建一个Collision Cube,移动并缩放填满电梯门口
编辑这个电梯:Use的interaction,注意红框中标记的Object-Animate和Object message,后者是用来开启和关闭碰撞的
然后在Cursor Manager里面,Hotspot cursor勾选Prefix cursor Lables,这样选择交互方式时会出现交互提示
创建LaserGun Hotspot
在My 3D Game文件夹里面,创建新的Animator Controller,命名为Laser Controller,将Tutorial Files——Set——LaserGun内部的动画片段拖拽到Laser Controller里边
像之前对于Lift的动画片段处理一样,这一次我们把On动画作为默认,On的State为0、MoveUp的State为1、Off的State为2、TurnOff的State为3。
选择SetGeometry——LaserGun,将Laser Controller放在Animator里面
新建Hotspot,命名为Hotspot_Laser,将其缩放调整,覆盖到场景激光枪的前部,将其label改为“激光枪”,创建它的action
创建一个Simple摄像机,命名为Camera_Laser_1,放在激光枪的尾部仰视它,然后Ctrl+D复制一个命名为Camera_Laser_2,修改一下Field of View和旋转
编辑一下激光枪:Look at的interaction
勾选return to last gameplay就能自动载入默认的摄像机