日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Unity3D入门教程】物理引擎之碰撞解析

發布時間:2024/3/26 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Unity3D入门教程】物理引擎之碰撞解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Unity3D內置物理引擎,可以模擬物理效果。典型的一個物理效果就是碰撞。本文將會針對最簡單的案例講述Unity3D的碰撞規律。

?

1 碰撞規律

首先在場景中創建一個Sphere和一個Cube,它們都是默認帶有碰撞器的。





如果要讓物體受到物理控制,需要給它添加一個剛體組件。這時,物體將會受到重力影響,并且能夠與其他物體碰撞。

?

  • 碰撞器的分類

碰撞器按外形可以分為BoxCollider、SphereCollider、CapsuleCollider、WheelCollider、MeshCollider等。這里我們以Box和Sphere 的Collider作為實例來展開敘述。

?

  • 剛體

只帶有碰撞器而沒有剛體的物體,自己是不能響應物體行為的。這類成為靜態碰撞器,適合作為墻體、地面和其他不動的物體。當給物體添加了剛體后,物體就可以接受力和力矩,產生接近真實物體的表現。需要注意的是,如果要讓兩個物體發生碰撞,至少有一個物體要帶有剛體組件。


剛體組件中的Mass是質量,Drag和Angular Drag是阻力和角阻力,這些數值都是可以影響碰撞效果的。UseGravity是重力開關,打開就會響應重力,關閉則不響應。IsKinematic是運動學開關,如果啟用,物體將不受物理引擎驅動,只能通過Transform來操作。下面的CollisionDetection默認是Discrete(不連續檢測)。最下面是Constraints,可以設置限制剛體的運動。

?

2 碰撞實例

為了檢測碰撞和物體開關,需要把下面的collider.cs腳本綁定到Cube上。

using UnityEngine; using System.Collections;public class collider : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}//碰撞檢測void OnCollisionEnter(Collision colliderInfo){Debug.Log(colliderInfo.collider.name+"撞過來了!");}void OnCollisionExit(Collision colliderInfo){Debug.Log(colliderInfo.collider.name + "結束碰撞!");}void OnCollisionStay(Collision colliderInfo){Debug.Log(colliderInfo.collider.name + "處于碰撞中!");}//物理開關void OnTriggerEnter(Collider collider){Debug.Log("Trigger: "+collider.name +"進入!");}void OnTriggerExit(Collider collider){Debug.Log("Trigger: " + collider.name + "離開!");}void OnTriggerStay(Collider collider){Debug.Log("Trigger: " + collider.name + "觸發中!");}}

對于已經創建好的Cube和Sphere,它們自身就是帶有碰撞器的,我們給這兩個物體加上剛體。點擊對象的AddComponent,在下拉的菜單搜索中輸入Rigidbody,選擇并添加即可,剛體參數可以保持默認。


(1)測試碰撞

不勾選Cube的BoxCollider的IsTrigger,運行游戲。用鼠標拖到Sphere去碰撞Cube,可以看到如下信息:


(2)測試物理開關

勾選Cube的BoxCollider的IsTrigger,運行游戲。用鼠標拖到Sphere去碰撞Cube,可以看到如下信息:



總結

以上是生活随笔為你收集整理的【Unity3D入门教程】物理引擎之碰撞解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。