今天主要學習了組件的使用,看了幾節關于控制游戲物體旋轉,游戲物體碰撞檢測的視頻,并熟悉了其中幾個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);
}
}