【发布时间】:2017-12-08 11:12:48
【问题描述】:
我有一个简单的脚本可以在与某物碰撞时将速度设置为零,但它似乎不会立即起作用:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveController : MonoBehaviour {
[SerializeField]
private float shootVelocity=30f;
void Start () {
}
private void OnGUI()
{
if(GUI.Button(new Rect(0,0,100,100), "shoot"))
{
GetComponent<Rigidbody>().velocity = shootVelocity * Vector3.forward;
}
}
private void OnCollisionEnter(Collision collision)
{
GetComponent<Rigidbody>().velocity = Vector3.zero;
GetComponent<Rigidbody>().isKinematic = true;
}
}
我也发了youtube video来演示这个问题。
在发生碰撞后让球立即停止非常重要。
怎么做?
【问题讨论】:
标签: c# unity3d rigid-bodies