好的,所以,目前在我的游戏中,我有5或6个"警察立方体"来追逐玩家,并扣除生命值,直到最终玩家死亡。我的玩家还必须捡起收藏品才能到达终点线。我的球员是一个滚动的球,有一条主干道可以让球在上面行进。这条路周围有泥土环境,一旦滚球接触到它,我需要一种方法来扣除速度。如果有人能帮助我解决这个问题,将不胜感激,谢谢。
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class _PlayerController : MonoBehaviour {
public float speed = 75.0f;
public Text countText;
public Text winText;
private Rigidbody rb;
private int count;
void Start ()
{
rb = GetComponent<Rigidbody>();
count = 0;
SetCountText ();
}
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag ("Pick Up")) {
other.gameObject.SetActive (false);
count = count + 1;
SetCountText ();
}
}
void SetCountText ()
{
countText.text = "Count: " + count.ToString ();
if (count >= 25) {
Application.LoadLevel (2);
}
}
}
您可以将物理材质应用于污垢并为其指定动态摩擦值。你给它的值将取决于你希望泥土减慢玩家的速度,尝试 0.5 作为起点。
要创建物理材质,请从菜单栏中选择资产>创建>物理材质。然后将物理材质从"项目视图"拖动到场景中的碰撞体上。(从链接页面复制粘贴)。