尝试根据所选对象和另一个静态对象的距离以编程方式设置力。
为了更好地理解这一点,我正在进行高尔夫比赛,我已经被迫应用于已经完成的球,但是我在这一点上手动设置了力量。现在我正在尝试构建一些伪代码,以便我能够实现这一目标。我没有很多物理经验,所以任何事情都会有所帮助。但基本上我有一个高尔夫球手,他选择了一个他想要击中的区域。因此,一旦选中,我将抓住选择的位置,显然通过(selected.transform.position - golfer.transform.position)找到差异,但现在我有点卡在下一步做什么。如何找到到达所选位置所需的力?
这里有一些当前的代码,如果它有帮助
var target : Transform;
var speed : float;
var force : float;
var angle = 50;
var i = 1;
function FixedUpdate()
{
if (target == null)
target = GameObject.FindWithTag("Hole").transform;
}
function Hit()
{
var torque = Vector3(Input.GetAxis("Vertical"), 0, -Input.GetAxis("Horizontal"));
var targetRotation = Quaternion.LookRotation (target.position-transform.position,Vector3.forward);
transform.rotation = Quaternion.Slerp(transform.rotation,targetRotation,8);
transform.eulerAngles.x = -angle;
rigidbody.AddTorque(torque.normalized*speed);
rigidbody.AddForceAtPosition (transform.forward * speed * force,target.position, ForceMode.VelocityChange );
}
答案 0 :(得分:0)
你需要做一些事情。
theta
m
在x轴上:
a
vi
vf
d
t
在y轴上:
a = gravity
vi_y
vf_y
h
然后使用运动学方程和F=ma
找到力。
您的目标是结合您所知道的物体,物体的质量,距离等,并应用运动学方程式来找到x轴所需的加速度。然后你会将加速度和质量插入F=ma
来找到力量。