目标为类似于战争雷霆中的摄像机视角,多为飞行游戏的视角操作方式,既可以围绕玩家自由旋转,玩家本身也能自由旋转而摄像机位置旋转不受影响。
类似于这种 https://www.bilibili.com/video/BV1Vs411o7ZD?from=search&seid=14919357153818427360
思路为摄像机的位置始终处于球面坐标系的球面上(玩家为圆心,玩家与摄像机的距离为半径),φ与θ(鼠标的x轴与y轴)确定方位。
当有了φ(鼠标Y轴)、θ(鼠标X轴)、r(摄像机与玩家距离)三个值以后,即可通过将球面坐标系转换成直角坐标系确定此时此刻摄像机在游戏世界的相对位置。
球坐百标系(r,θ度,φ)与直角坐标系(x,y,z)的转换关内系:
x=rsinθcosφ.
y=rsinθsinφ.
z=rcosθ.
要想做到玩家自由旋转而不影响摄像机,那么还需要在玩家旋转时,反向旋转摄像机即可。
想要视角拉远拉进的效果,修改距离r即可
备注:我的玩家骨骼为根节点,摄像机为子节点
over