У меня есть объект сферы, падающий сверху экрана (позиция сферы y = 5). И у меня есть куб с «isTrigger = true» и «Mesh renderer = false» и положение с «y = 0,5» (0,5 = центр куба). Вы не можете видеть куб.
Теперь Сфера падает. Теперь я хочу, чтобы когда сфера касается куба, сфера замедлялась до нуля (без реверса). Я хочу затухание / демпфирование.
Я попробовал этот пример без успеха: http://docs.unity3d.com/Documentation/ScriptReference/Vector3.SmoothDamp.html
// target = sphere object
public Transform target;
public float smoothTime = 0.3F;
private Vector3 velocity = Vector3.zero;
private bool slowDown = false;
void Update () {
if (slowDown) {
Vector3 targetPosition = target.TransformPoint(new Vector3(0, 0, 0));
transform.position = Vector3.SmoothDamp(transform.position, targetPosition, ref velocity, smoothTime);
}
}
void OnTriggerEnter(Collider other) {
if (other.name == "Sphere") {
slowDown = true;
}
}
Скрипт прилагается к кубу.