3D动画中相机的位置应用


在第三人称游戏中,相机如果使用固定距离跟随玩家,会出现很多问题,包括被障碍物阻挡、运动时如何跟随等等。在很多重庆3D动画公司的游戏使用相机臂作为这个问题的解决方案,通过相机臂连接相机主体与玩家角色,让摄像机与拍摄对象保持固定距离,并且在遇到遮挡时动态调整。

相机臂的长度可以根据实际关卡情况动态调整,相机臂的碰撞属性也可以自行设置,在大部分第三人称游戏中,相机臂已经成为相机系统的默认组成部分之一。


1.2 相机基本属性

本部分将会介绍相机中的基本属性,包括相机的方向、相机的表现风格、视锥体、FOV等等。


1.2.1 位置

讨论相机的位置时,一般会区分重庆动画公司相对坐标与绝对坐标,在游戏中,绝对坐标一般指基于关卡/地图的世界坐标系的坐标,本篇中的绝对坐标的概念等价于世界坐标,不再进行额外转换。


相对坐标

相对坐标即子对象相对于其父对象的相对位置,常见于Character上的第三人称相机。


需要注意的是,相机的父对象不一定直接是Character,可能是Character上已经存在相对关系的某个对象,此时的相对坐标就会多层嵌套。

如在UE4引擎中,打开示例项目的Character蓝图,可以看到重庆3D动画制作FollowCamera是CameraBoom的子对象,而CameraBoom与Character本身还有一层相对关系。

在改变相机坐标的过程中,要时刻确认当前操作的相对坐标是位于哪个相对坐标系。


绝对坐标

绝对坐标即相机在世界坐标系中所处的位置,不受相机目标的影响。绝对坐标可用于判断相机与场景内物件是否可能发生交互,或用于预测相机的移动轨迹


插槽(Socket)与相机臂

在引擎中,相机常常作为子对象进行使用。当相机被添加至角色中时,有时需要确定相机的插槽,插槽处即为相对坐标的0点。

插槽不一定是相对于角色位置的静态点,也可能位于角色骨骼或基于骨骼的直线上,随着重庆动画制作角色的动画进行更复杂的移动。

上述情况基于直接添加相机本身,实际的引擎操作过程中,更多的会使用SpringArm组件(或类似的带有相机臂的组件),SpringArm组件可以理解为一根弹簧臂,其子项与父项存在一段距离,弹簧臂会尝试维持父子之间的固定距离,当出现碰撞时,会尝试收回子项。

当使用这类组件时,插槽一般对应的是相机臂的起点,而相机被放置在相机臂的终点上。

此处的内容可以参考对应引擎或插件的具体文档进行学习。

上一篇:超400万人观看!这部CG短片太震撼

下一篇:3D动画软件UE4中使用SpringArm组件与目标偏移




重庆博得文化传媒有限公司  联系电话:13452883959  023-68781096
Copyright © 2018-2024 CQBODE.COM All Rights Reserved. 渝ICP备2022010067号
为企业专业提供重庆影视制作、重庆3d动画制作、多媒体开发、重庆vr全景制作等设计项目