在我的代码中,我制作了一个飞行物,拍了子弹。刚体连接到子弹3d对象,Cube变量连接到空游戏对象。代码的问题是子弹在起始位置产生在立方体的位置(0,0,0)而不是“飞行物体”的当前位置。顺便说一句,这都是用Unity C#编写的。我已经查了几次这个问题,但大多数建议都是代码的变化,这些代码不起作用,或者需要更多关于每个事物连接的信息。脚本连接到飞行物体。对不起,变量名称。代码如下:我的空对象不被我的项目识别为移动
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SHooting : MonoBehaviour {
public Rigidbody Sphere;
public Transform Cube;
void Update() {
if (Input.GetKey(KeyCode.Q))
{
Rigidbody a;
a = Instantiate(Sphere, Cube.forward, Cube.rotation) as Rigidbody;
a.AddForce(Cube.forward * 200);
}
}
}
使用重载的'Instantiate(...)'方法,它需要参数的位置。 –
@ m.rogalski他已经在使用它,唯一的问题是他在那个地方使用了一个方向向量'Cube.forward'。 – Iggy
@Iggy好吧,对不起,我的坏。刚刚弄清楚了他的错误。 –