level 8
用while{}do{} 和 waitUntil{};循环刷新镜头锁定的目标和进行相对位置调整在帧率稳定脚本执行流畅情况下效果没啥区别表现都挺好,不过测试发现waitUntil很多时候是比while稳定的,while与游戏帧率不同步循环速度比较快waitUntil虽然帧同步但是游戏卡的时候是会丢帧的。上面视频是在逃离图中录制的任务里面脚本估计有几十个循环还有多个在执行一些遍历全图单位长数组的命令加上又有很多AI所以循环脚本肯定也卡了速度变慢了,镜头脚本对循环执行要求比较高所以出现鬼畜或者卡卡的感觉,低帧率也测试过镜头视角表现如常没有卡顿感问题应该是出现在脚本执行上了。寻思着换成专门的帧循环命令或函数会不会得到改善呢,果然不出所料,["camera_FrameLoop", "onEachFrame", {代码},[传递参数,可选]] call BIS_fnc_addStackedEventHandler 比 _id = addMissionEventHandler ["onEachFrame", {}]要好,退出帧循环waitUntil {sleep .1; camera_loop_stop};["camera_FrameLoop", "onEachFrame"] call BIS_fnc_removeStackedEventHandler;目前使用上没发现什么问题
如果使用单位视角是不用创建摄影机镜头的,观看目标是AI能切换第一和第三人称,缺点是视角是固定的不方便调整
CurrentCameraView = cameraView;
_units switchCamera _mode;
mode:
"INTERNAL": 1st person
"GUNNER": optics / sights
"EXTERNAL": 3rd person
"GROUP": group
"CARGO": same as "INTERNAL"
回到玩家
player switchCamera CurrentCameraView;
2019年12月29日 11点12分