unity 3d之路 —— 游戲組件與API

今天主要學習了組件的使用,看了幾節關于控制游戲物體旋轉,游戲物體碰撞檢測的視頻,并熟悉了其中幾個API

1. RigidBody: 重力感應組件,可以讓游戲物體擁有物理特性

2. Transform: 管理物體位移,旋轉,移動控制等,MonoBehaviour中unity已經封裝好了transform對象,添加自旋轉代碼如下:

void Update () {

? ? ? transform.Rotate(new Vector3(0,1,0));

}


3. onCollisionEnter: 碰撞檢測,兩個GameObject發生碰撞的時候觸發的回調方法,由unity自動觸發,使用如下:

using UnityEngine;
using System.Collections;

public class ExampleClass :MonoBehaviour?{
? ? ?AudioSource? ?audioSource;

? ? ?void Start()? ? {
? ? ? ? audioSource = GetComponent<AudioSource>();? ?
? ? ?}

? ? ?void OnCollisionEnter(Collision?collision)? ? {
? ? ? ? ?foreach (ContactPointcontact in collision.contacts)? ? ? ? {
? ? ? ? ? ? ? ? ? ??Debug.DrawRay(contact.point, contact.normal,Color.white);? ? ? ?
? ? ? ? ? }

? ? ? ? ?if (collision.relativeVelocity.magnitude > 2)? ? ? ? ? ?
? ? ? ? ? ? ? ? ?audioSource.Play();? ?
? ? ? ? ?}
? ? ?}
}

4.游戲物體對象銷毀,可以通過collision對象獲取碰撞到物體的GameObject,調用Destory函數銷毀:

void OnCollisionEnter(Collision collision) {

string name = collision.collider.name;

if (name == "zj") {

Destroy(collision.collider.gameObject);

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容