unigine引擎 PlayerPersecutor

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;

}


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值