- GDC Talk 50 Camera Mistakes (50个错误的相机用法)
GDC Talk 50 Camera Mistakes (50个错误的相机用法)
- 当其他相机(固定、第一人称)可用的时候,用了动态相机
- 关卡和相机不匹配
- 使用global坐标和四元数来记录相机状态
- yaw pitch roll; distance from pivot; lateral、vertical offsets for framing、 fov
- 使用不合适的相机距离导致看不到主角
- 障碍从边上打断视线
- 当玩家想绕过障碍的时候把相机移太远
- 让玩家把相机推进墙里
- 让多条规则/force抢着移动相机
- 可以把规则按照自由度(上面的7类)分类,然后优先级排序
- 保留窄墙打断视线
- 让相机跟窄墙相交
- 把山和墙当作一回事来做回避
- 在occludes的同时还在swing相机
- 让相机的near clipping plane跟主角相交
- 所有角度都使用一样的distance
- 鱼眼镜头和普通镜头使用一样的fov
- pitch、distance和fov单独改变
- 在主角穿过不透明区域的时候不做cutting
- 在cut的时候改变按键操作的对应调整
- 破坏玩家的方向感
- 违反180度规则(不要在脚底和头顶旋转相机)
- 只focus角色
- 让玩家完全控制相机
- 当玩家在跑的时候让yaw alone
- 让玩家感到很难判断距离
- 当角色爬墙的时候也朝前看
- 当角色跑在一个slope上的时候也让相机水平
- 错误使用 rule of thirds
- 当角色不在中间的时候,图像往往更好看
- 一般当角色站定的时候才适用这条规则,然后角色跑起来的时候还是让他在中间
- 在地上和空中的时候用同样的逻辑
- 跳起来或者在空中的时候,一般玩家想看落点,所以应该朝下看
- 完全依赖相机procedural行为
- raycast应该只做limit/hint,而不是决定相机出现在哪里
- 让玩家觉得他们迷路或者失去方向
- 旋转相机才能看到附近的targets
- 移动相机去看远处的目标
- 让主角的身体occludes来看到target
- 让玩家控制相机,然后又突然不让了
- 在玩家转完相机之后马上hint,让相机看向target
- 不让experts玩家探索场景
- 不提供inverted控制
- 对于突然的特殊输入马上反应,导致画面不够smooth
- 使用线性的curve
- analog sticks
- 最好可以提供曲线的调整
- 让相机pivot漂移太远
- 使用一个很小的fov
- 迅速改变fov
- shake相机
- 让相机跟随角色的角度而上下抖动
- 角色jump的时候,相机跟着角色一起移动或者转向
- 快速移动到一个相机位置
- 保持pitch速度直到pitch limits
- 为VR设备而开发,并且还保留这些feature给普通玩家
- 只让少量的人测试
- 熟悉游戏类型的人测试不会有太多帮助
- 不熟悉游戏的人能给很多新反馈
- 实现一个通用的constraint solver