第一个参数:bRelativeToInitialTransform
我们CameraAnim上的Movement上Key了3个点,主要改变的是X点位置,它们的值分别是100,200,250. 假设我们现在相机的位置X在1000上,现在播放上面的CameraAnim,那么:
相机管理器拿到Track第一个点的值,取出是100,然后取出后续的值与100做差值,所以3个点分别做差值存储成0,100,150.首先设置镜头的初始位置(bRelativeToInitialTransform不同初始位置不同),然后在指定坐标系下(PlayCameraAnim指定的)进行累加差值处理,最终相机会根据坐标系的不同而使用不同的坐标系累加这些差值实现镜头动画。(假设坐标系是相机系,那么差值X =100,就是镜头朝向的方向+100;假设坐标系是世界坐标系,那么会对相机的世界坐标进行+100处理,不论相机现在朝向何处。)。
bRelativeToInitialTransform为True: bRelativeToInitialTransform为true表示将Track上第一个点对应到现在相机的位置上,后续的差值再分别应用到相机上。表现上说就是镜头位置不会突变,而是从相机现在的位置上进行镜头动画。
bRelativeToInitialTransform为False: bRelativeToInitialTransform为false表示将Track上第一个点的值根据指定的坐标系加到现在相机的位置上,后续的差值再分别应用到相机上。表现上说就是开始的镜头位置会突变,后续就会根据差值和坐标系应用到相机上。
所以说bRelativeToInitialTransform这个参数控制的就是播放镜头动画时初始位置的问题,其他的都一样。
第二个参数:bRelativeToInitialFOV
bRelativeToInitialFOV与上面的bRelativeToInitialTransform类似.
bRelativeToInitialFOV为true: 表示将Track上第一个点对应到现在的FOV上,后续的差值再分别应用,表现上说就是不会突变。比如现在相机FOV是90,Track上的Key点值分别是10,15.那么差值分别是0和5.那么表现就是FOV从90~95进行变化。
bRelativeToInitialFOV为False:将Track上的点分别设置到相机上。比如现在相机FOV是90,Track上的Key点值分别是10,15.那么表现就是FOV从10~15进行变化(测试结果看应该是这样的,baseFOV怀疑是处理没有FOVTrack或者FOVTrack上没有Key点时FOV的默认值)。
因篇幅问题不能全部显示,请点此查看更多更全内容