Apache spark 火花ar,如何创造射击效果

Apache spark 火花ar,如何创造射击效果,apache-spark,augmented-reality,Apache Spark,Augmented Reality,我正在尝试开发一个简单的游戏,在那里我需要射击子弹。子弹运动必须相对于世界空间发生。但在拍摄时,飞行方向通常设置为智能手机。 问题是如何计算目的地。我想到了以下步骤: 订阅触发器事件并在脚本中执行 DeviceMotion.worldTransform 应用于向量(0,0,1)(它是相机的法线方向) 以达到世界坐标系的终点。 然后,我使用“面片编辑器”(patch editor)中的脚本输出,在3d对象的过渡块中设置端点,以设置拍摄动画。 我不熟悉反应式编程,所以我不确定这个概念是否正确。 那么

我正在尝试开发一个简单的游戏,在那里我需要射击子弹。子弹运动必须相对于世界空间发生。但在拍摄时,飞行方向通常设置为智能手机。 问题是如何计算目的地。我想到了以下步骤: 订阅触发器事件并在脚本中执行 DeviceMotion.worldTransform 应用于向量(0,0,1)(它是相机的法线方向) 以达到世界坐标系的终点。 然后,我使用“面片编辑器”(patch editor)中的脚本输出,在3d对象的过渡块中设置端点,以设置拍摄动画。 我不熟悉反应式编程,所以我不确定这个概念是否正确。
那么这是正确的算法吗?有人能告诉我如何计算目的地吗?

这是一种方法。。。可以使用“点跟踪/点锚定”获取端点,然后使用Reactive.mix为摄影机变换和跟踪器变换之间的过渡设置动画

//get start and end transforms
let start = Camera.worldTransform;
let end = tracker.globalTransform;

//setup animation
let driver = Animation.timeDriver({durationMilliseconds: 100});
let sampler = Animation.samplers.linear(0,1);
let anim = Animation.animation(driver, sampler);

//setup bullet transforms
bullet.x = Reactive.mix(start.x, end.x, anim);
bullet.y = Reactive.mix(start.y, end.y, anim);
bullet.z = Reactive.mix(start.z, end.z, anim);

//start the animation
driver.start();

祝你好运

来自评论:你介意分享你文章的相关部分吗?请参阅:。