目錄
剛體
剛體
重力
isKinematic
碰撞檢測
變換限制
?編輯
碰撞
?獲取到碰撞物的實體,輸出它的某個信息。
?碰撞和觸發(fā)器的區(qū)別
鉸鏈
錨點和軸
彈簧組件
固定關(guān)節(jié)組件
定制摩擦力面
剛體
剛體
添加了好像不能禁用。
重力
重力,顧名思義。
禁用重力,不受重力影響。當(dāng)有物體撞擊,猜測會向撞擊方向飛去。
isKinematic
????????如果啟用了 isKinematic,則力、碰撞或關(guān)節(jié)將不再影響剛體。 剛體將由動畫或腳本通過更改 transform.position 進(jìn)行完全控制。 運動剛體也會通過碰撞或關(guān)節(jié)影響其他剛體的運動。 例如,可以將運動剛體連接到一個具有關(guān)節(jié)的普通剛體上, 則該普通剛體將受到運動剛體運動的約束。 對于制作通常由動畫驅(qū)動,但在特定情況下,可以通過將 isKinematic 設(shè)置為 false 來快速轉(zhuǎn)變?yōu)椴纪尥薜慕巧?運動剛體也極其有用。
測試:一個帶剛體組件(禁用動力學(xué))的物體去撞擊另一個帶剛體組件(開啟動力學(xué))的物體。
結(jié)果:“不開”的撞不動“開的”。
再測試:相反用“開的”去撞“不開的”,能撞動。?
?
碰撞檢測
離散
持續(xù):推薦“地面”等使用
連續(xù)動態(tài):推薦“子彈”等使用
變換限制
鎖xyz的位置、鎖xyz軸的旋轉(zhuǎn)。
碰撞
要兩個物體都有碰撞組件才能發(fā)生碰撞;
實例:火星受重力下落,然后碰撞地面發(fā)生爆炸
火星有重力、碰撞組件;
地面有碰撞組件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Boom_script : MonoBehaviour
{
public GameObject prefab;//后續(xù)操作預(yù)設(shè)體
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
//監(jiān)聽發(fā)生碰撞
private void OnCollisionEnter(Collision collision)
{
Instantiate(prefab, transform.position, Quaternion.identity);
Destroy(gameObject);
}
//持續(xù)碰撞
private void OnCollisionStay(Collision collision)
{
}
//結(jié)束碰撞
private void OnCollisionExit(Collision collision)
{
}
}
生成和銷毀語句
? ? ? ? Instantiate(Gameobject,位置,四元數(shù)旋轉(zhuǎn));
? ? ? ? Destroy(GameObject);
?
?獲取到碰撞物的實體,輸出它的某個信息。
private void OnCollisionEnter(Collision collision)
{
Instantiate(prefab, transform.position, Quaternion.identity);
Destroy(gameObject);
Debug.Log(collision.gameObject.name);
string name= collision.gameObject.name;
GetObj = GameObject.Find(name);
Debug.Log(GetObj.layer);
}
第一個參數(shù)是碰到的物體的名字
第二個參數(shù)是碰到的物體的層名字(數(shù)字是層序號)
?
?碰撞和觸發(fā)器的區(qū)別
1.物理特性。觸發(fā)器是檢測區(qū)域、結(jié)界、視野,不受物理特性影響。碰撞能返回碰撞的位置,受物理特性影響。
2.物理材質(zhì)。有些物理材質(zhì)在碰撞上會異常,但觸發(fā)器不會出現(xiàn)異常(因為位置)。
3.函數(shù)名和返回參數(shù)不同。
4.實例。士兵拿劍去砍擊,要劍碰到敵人才有傷害,屬于碰撞。
鉸鏈
鉸鏈必須帶剛體。
錨點和軸
調(diào)整旋轉(zhuǎn)的位置和旋轉(zhuǎn)軸?
旋轉(zhuǎn)位置(achor),長寬高都是1。起始點是(0,0,0)。
旋轉(zhuǎn)軸(axis),看是繞著哪個軸旋轉(zhuǎn)。(0,1,0)繞著Y軸。
旋轉(zhuǎn)速度
彈簧組件
示例:上面方塊固定,下面方塊通過彈簧連接上面方塊。開始后方塊因重力掉下,之后一彈一彈,最后靜止。
上方塊:添加剛體(啟用動力學(xué));添加彈簧組件(spring joint),連接體添加為下方塊。
下方塊:添加剛體(啟用重力)。
?
固定關(guān)節(jié)組件
在負(fù)責(zé)拉人的對象上用,將拉的人添加到連接體上。
定制摩擦力面
?
動態(tài)摩擦力
靜態(tài)摩擦力
彈力?
?
????????摩擦力是防止表面相互滑落的量。嘗試堆疊對象時,此值很重要。摩擦力有兩種形式:動態(tài)和靜態(tài)。對象靜止時使用__靜態(tài)摩擦力。靜態(tài)摩擦力會阻止對象開始移動。如果向?qū)ο笫┘幼銐虼蟮牧?,對象將開始移動。隨后,__動態(tài)摩擦力__將發(fā)揮作用。動態(tài)摩擦力__現(xiàn)在將嘗試在與另一個對象接觸時減慢對象的速度。
在碰撞組件中應(yīng)用文章來源:http://www.zghlxwxcb.cn/news/detail-470911.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-470911.html
到了這里,關(guān)于Unity日記18(剛體、獲取碰撞物的信息、鉸鏈、彈簧)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!