Unity 手榴彈爆破效果 :AddExplosionForce
使用AddExplosionForce();
前言:本篇將介紹"AddEplosionForce()"函式來呈現手榴彈爆破效果,特效的部分這裡就不贅述了,有興趣的夥伴可以再自行研究囉!
AddExplosionForce(爆破力道, 爆破位置, 爆破半徑, 爆破飛起力道, 爆破力道模式));
- 此篇效果 - 手榴彈爆破效果 * * * *
- 大概了解重點後,接下來進入完整教學 -
一、設定地板
- 在場景中新增一個Plane
- 並設定座標為 (0,0,0)
二、設定場景物件
- 在場景中新增四個 Cube
- 並在每個Cube上新增Rigbody
- 四個Cube座標分別為(1,1,1),(-1,1,1),(-1,1,-1),(1,1,-1)。
三、給予場景物件顏色
- 新增一個Material
- 把它命名為 Gray
- 並設定成「灰色」(自己調)
- 將Gray拖曳到全部的Cube上。
四、創建手榴彈物件
- 新增一個Sphere
- 將其命名為「Grenade」
- 並設定其座標為 (0 , 2 , 0 )
- 設定其Scale為( 0.3 , 0.3 , 0.3 )
- 在 Grenade 新增一個 Rigbody
- 新增一個Material
- 把它命名為 Green
- 並將Green設定成「墨綠色」(自己調)
- 將Green拖曳到Grenade上
五、新增手榴彈爆破程式碼
- 新增一個C#程式碼,並將其命名為 「Explode」
- 開啟Explode並鍵入下列的程式碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Explode : MonoBehaviour {
public Collider[] Box;
void Update () {
//偵測周圍的碰撞體
Box = Physics.OverlapSphere(this.transform.position,10f);
}
private void OnCollisionEnter(Collision collision)
{
//取得每個被偵測到的碰撞體
foreach (Collider hit in Box)
{
//取得碰撞體的剛體
Rigidbody rb = hit.GetComponent<Rigidbody>();
//施加爆破力道
if (rb != null)
rb.AddExplosionForce(200f, this.transform.position, 200f);
}
//隱藏手榴彈
this.gameObject.GetComponent<MeshRenderer>().enabled = false;
this.gameObject.GetComponent<SphereCollider>().enabled = false;
}
}
六、按下執行「低配版」手榴彈效果完成!!!
在爆破特效方面有興趣的夥伴可以參考這篇:https://reurl.cc/epkEQ
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !
- By Alex -
留言列表