Persecutor 翻译过来是迫害者
确切的将是被绑定的摄像机 因为这个摄像机必须设置一个Target对象
这个Target对象走到哪里 摄像机也跟随到哪里
放在脚本初始化的位置(init 函数是 脚本 初始化,这个初始化函数是引擎自动调用 )
int init(){
PlayerPersecutor persecutor = new PlayerPersecutor();
persecutor.setControls(0);//启动当前摄像机的控制
persecutor.setAnchor(vec3(0.0f,0.0f,1.0f));
persecutor.setMinDistance(2.0f); //最近距离(以<span style="font-family: Arial, Helvetica, sans-serif;">target</span><span style="font-family: Arial, Helvetica, sans-serif;"> 为目标)</span>
persecutor.setMaxDistance(4.0f);//最远距离
persecutor.setMinThetaAngle(20.0f); 移动时(摄像机)上下摇摆幅度最大 [<span style="color:#ff0000;">注:可以模拟骑马的振幅</span>]
persecutor.setMaxThetaAngle(60.0f); <span style="font-family: Arial, Helvetica, sans-serif;">移动时(摄像机)上下摇摆幅度最小</span>
persecutor.setTarget(actor); //设置Target对象 (Node对象)
engine.game.setPlayer(persecutor);//启用当前摄像机(如果不启用屏幕是不会有变化,因为没有切换摄像机)
return 1;
}
鼠标移动摄像机也就移动了
如果你想用键盘控制摄像机旋转只要加上一下代码
(update 函数是 脚本 周期性调用的函数 这个周期指的是帧,这个函数是引擎自动调用 )
int update() {
<span style="white-space:pre"> </span>engine.controls.setMouseDX(自己设置这个值);
<span style="white-space:pre"> </span>engine.controls.setMouseDY(<span style="font-family: Arial, Helvetica, sans-serif;">自己设置这个值</span>);//设置鼠标移动的差值(差值,delta,上帧和这帧之间的差值)
return 1;
}