unigine引擎 PlayerPersecutor

本文深入探讨了游戏开发中摄像机控制与目标跟随技术的应用,包括如何设置摄像机与目标对象的关系,实现平滑的目标跟随效果,并通过代码示例展示了初始化摄像机控制、设置锚点、距离限制及角度摆动参数的方法。此外,文章还介绍了如何通过键盘控制摄像机旋转,以提升玩家体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值