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

上(shàng)一篇:超(chāo)400万人观看!这部CG短片(piàn)太(tài)震撼