我有一个Light_Spell脚本附加到魔杖上,该魔杖是Razer Hydra手对象的父级。 Light_Spell采用一个Light的预制件,当按下一个按钮时,该预制件将被投射出来。 然而,光线正在向上移动,无论我旋转手部物体的方式如何,它总是会上升。我有它工作,但我改变了一些代码,并且不记得我是如何让它在第一时间工作。
这是我到目前为止的代码:
//What happens when bumper is pressed
if (isSelectedSpell && SixenseInput.Controllers [0].GetButtonDown (SixenseButtons.BUMPER) && triggerIsPressed == false) {
Rigidbody instantiateProjectile = Instantiate(projectile, transform.position, transform.rotation) as Rigidbody;
instantiateProjectile.position += Vector3.down * 20.0F;
}
我已尝试将Vector3设置为向上和向前以及一整套不同的东西。关于我应该怎么做的任何想法,使它与手指向和东西的旋转相匹配? 感谢
答案 0 :(得分:0)
考虑使用:
instantiateProjectile.position += -instantiateProjectile.transform.up * 20.0f;
<强>解释强>:
Vector3.down
与转换的轮换无关,它是一个&#39; down&#39;在世界空间中,也就是说它将永远按照基本轴向下移动。
transform.up
与该变换的轮换相关。如果射弹旋转,用于获得&#34; up&#34;旋转也是。我们必须使用倒置transform.up
而不是transform.down
,因为不存在transform.down
。