3D动画中(zhōng)相机的位置应(yīng)用
在第三人称游戏中,相(xiàng)机如果使用固定距离跟(gēn)随玩家,会出现(xiàn)很多问题(tí),包(bāo)括被障(zhàng)碍物阻挡、运(yùn)动时如何跟随等等。在很多(duō)重庆3D动画(huà)公司(sī)的游戏(xì)使用相(xiàng)机臂作为(wéi)这个问(wèn)题的解决方(fāng)案,通过相机臂连接相机主体与玩(wán)家角色,让(ràng)摄像机与拍摄(shè)对象保持(chí)固定距离,并且在遇到遮挡时(shí)动态调(diào)整。
相机(jī)臂的长度可以根据实际关(guān)卡情况动(dòng)态调整,相机臂的碰撞属性也可以自(zì)行设置,在大部(bù)分(fèn)第三人称游戏中,相机臂已经成为相机系统(tǒng)的默(mò)认组成部分(fèn)之(zhī)一。
1.2 相(xiàng)机基本属性
本部分将会介绍相机中(zhōng)的(de)基本属性,包括相机的方向、相机的表现风格、视锥体(tǐ)、FOV等(děng)等。
1.2.1 位(wèi)置
讨论相机的(de)位置(zhì)时(shí),一般(bān)会区分重庆动画公司相对坐标(biāo)与绝对坐标,在游戏中,绝对坐标一(yī)般指基于(yú)关(guān)卡/地图(tú)的世界坐标系的坐(zuò)标(biāo),本篇中(zhōng)的绝(jué)对坐标的概(gài)念等价于世界坐标,不再进(jìn)行额外转换。
相对(duì)坐标
相对坐标即子对象相对于其父对象的相(xiàng)对位置,常(cháng)见于Character上的第三人称(chēng)相机。
需要注(zhù)意的是,相机的父对象不一定直接是Character,可能是Character上已经存在相对关系的某个对象,此时的相对(duì)坐标(biāo)就会多层(céng)嵌套。
如在UE4引擎中,打(dǎ)开示例项(xiàng)目的Character蓝图,可以看到重庆3D动画制作FollowCamera是CameraBoom的子对象(xiàng),而CameraBoom与Character本身还有一层相(xiàng)对关系。
在改(gǎi)变相机坐标的过程中,要时刻确认当前操作(zuò)的相对坐标(biāo)是(shì)位于哪个(gè)相对坐标系。
绝对坐标(biāo)
绝对坐标即相机在世界(jiè)坐标系(xì)中所处的位置,不受(shòu)相机目标的影(yǐng)响(xiǎng)。绝对坐标可用(yòng)于判断相机与场(chǎng)景内物(wù)件是否可能发生交互,或用于预测相机的移(yí)动轨迹
插槽(cáo)(Socket)与相机臂
在引擎中,相机常常作为(wéi)子对象进行使用。当相机(jī)被添加至角色中时,有时需要确定相机(jī)的插槽,插槽处即为相对坐标的0点。
插槽不一定是相对于角色位置的静态点,也(yě)可能位于角色骨骼或基于骨骼的直线上,随着(zhe)重庆动画制作(zuò)角色的动画进(jìn)行(háng)更复(fù)杂的移动(dòng)。
上述(shù)情(qíng)况(kuàng)基(jī)于直接添加(jiā)相机本身,实际的引擎操作过(guò)程中,更多的(de)会(huì)使用SpringArm组件(jiàn)(或类似的(de)带有相机(jī)臂(bì)的组件),SpringArm组件可以理解为一根弹(dàn)簧臂(bì),其子项(xiàng)与父项存在一段距离,弹簧臂会尝试维持父子(zǐ)之(zhī)间的固定距离,当出现碰撞(zhuàng)时,会尝试收回子项。
当使用(yòng)这类组件时,插槽一般(bān)对应的(de)是相机臂的起点,而相机被放置在相机臂的终点上。
此处的内容可以参考对应引擎或插件(jiàn)的(de)具(jù)体文档进行(háng)学习。

上一(yī)篇:超400万人观看!这部CG短片太震撼(hàn)
下一篇(piān):3D动(dòng)画软件(jiàn)UE4中使用SpringArm组件与目标偏移