Unity(第十八部)物理力學,碰撞,觸發、關節和材質

1、重力

剛體組件

英文中文描述
RigidBody剛體組件physics->rigidbody ,剛體組件使一個物體有了質量,重力等。,use gravity 勾選后,物體才會受到重力,會自動下落,取消勾選就不會。,,is kinematic 表示運動學剛體,此時物體質量為0,就不會受重力的影響。
 1. 質量2. 阻力3. 角阻力4. 使用重力(取消后,只是不受重力影響,阻力等還是受影響的)5. Is Kinematic(是運動學的,勾選后,不受物理影響)6. 插值(一般不用修改,插值是按照上一幀做插值,外推是按照下一幀做插值)7. 碰撞檢測(離散的節省性能非連續檢測高速物體檢測不到,持續和連續動態是相對的快速的物體是連續動態不動的選擇持續比較好但是浪費性能,沒有翻譯的Co...是連續檢測性能低于持續和連續高于離散)8. Constraints(凍結位置是值某個方向不能運動,凍結旋轉同理) 

2、碰撞的產生和監聽

在這里插入圖片描述

英文中文描述
Mesh Collider網格碰撞器
Sphere Collider球體碰撞器
  1. 碰撞中心(修改了碰撞中心會發生偏移)
  2. 碰撞半徑(大了會間隔碰撞,下了會穿透一部分)

碰撞組件實際碰撞發生的是碰撞線框
碰撞條件

  1. 至少有一個物體有剛體組件
  2. 只有物體都有碰撞器的時候才會發生碰撞
//設置一個爆炸的預設體
public gameObject Prefab;
//監聽發生碰撞private void OnCollisionEnter(Collision collision){ //創建一個新的爆炸物體Instantiate(Prefab, transform.position, Quaternion.identity)//銷毀自身(火焰物體) Destroy(gameObject); //碰撞到的物體信息Debug.Log(colision.gameObject.name);Debug.Log("碰撞發生!");}
//持續碰撞中private void OnCollisionStay(Collision collision){ Debug.Log("持續碰撞中!");}
//結束碰撞private void OnCollisionExit(Collision collision){ Debug.Log("結束碰撞!");}

3、觸發

觸發條件 和碰撞器一樣
在這里插入圖片描述

  1. 至少有一個物體有剛體組件
  2. 只有物體都有碰撞器的時候才會發生碰撞,只是其中一個碰撞器設置成觸發器;一般觸發器設置成看不見的

可移動的游戲物體腳本

	void Update(){//水平軸float horizontal = Input.GetAxis("Horizontal");//垂直軸float vertical = Input.GetAxis("Vertical");//創建成一個方向向量Vector3 dir = new Vector3(horizontal, 0, vertical);//朝向量方向移動Translate是平移,*Time.dalteTime是指每秒transform.Translate(dir*Time.dalteTime);}

觸發器物體的腳本
物體Cube (1)是墻壁,觸發后執行的物體,下面代碼是觸發后Cube (1)墻體消失

    private void OnTriggerEnter(Collider other){GameObject cube = GameObject.Find("Cube (1)");if (cube != null){cube.SetActive(false);}}private void OnTriggerStay(Collider other){}private void OnTriggerExit(Collider other){}

4、物理關節(鉸鏈,彈簧等)

添加組件的時候搜索關節,會有很多,
在這里插入圖片描述

鉸鏈關節

可以做固定軸旋轉
Anchor 是軸的位置
軸是軸的方向
Use Motor 自動
在這里插入圖片描述

彈簧關節

需要兩個物體鏈接,在a物體加彈簧組件,把b物體拖入剛體Connected Body 就鏈接了,其他屬性不細說了
在這里插入圖片描述

固定關節

和彈簧類似, 需要兩個物體鏈接,在a物體加彈簧組件,把b物體拖入剛體Connected Body 就鏈接了,其他屬性不細說了
但是性質不同,就會固定在一個物體上,無法移動等;類似膠水,可以設置斷開力,到達足夠力時就斷開鏈接

其他關節暫時不講

5、物理材質

不同材質有不同的效果、如冰面和土地的摩擦力不同;
新建-》物理材質,可以設置摩擦力彈力等;
給物體添加材質

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711465.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711465.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RTCA DO-178C 機載系統和設備認證中的軟件注意事項 - 目錄

本文為DO-178C標準目錄,可點擊以下對應章節直接跳轉至具體內容。 1.0 介紹 INTRODUCTION 2.0 軟件開發的系統相關性 SYSTEM ASPECTS RELATING TO SOFTWARE DEVELOPMENT 3.0 軟件生命周期 SOFTWARE LIFE CYCLE 4.0 軟件計劃過程 SOFTWARE PLANNING PROCESS 5.0 …

selenuim[1]($x(‘xpath語法’)、WebDriverWait())

文章目錄 初學selenuim記錄1、執行driver webdriver.Chrome()后很久才打開瀏覽器2、瀏覽器多元素定位 $x(‘xpath語法’)3、打開瀏覽器driver.get("網址")執行了很久才開始定位元素:等待(1)driver.set_page_load_timeout(t)&#…

超越CPU和GPU:引領AI進化的LPU

什么是CPU CPU(Central Processing Unit)是由數十億個晶體管構成的,可以擁有多個處理核心,通常被稱為計算機的“大腦”。它對所有現代計算系統至關重要,因為它執行計算機和操作系統所需的命令和進程。CPU在決定程序運…

【Linux C | 網絡編程】gethostbyaddr 函數詳解及C語言例子

😁博客主頁😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客內容🤑:🍭嵌入式開發、Linux、C語言、C、數據結構、音視頻🍭 🤣本文內容🤣&a…

JavaSE面試——hashcode和equals

對象調用 hashCode 方法后,會返回一串 int 類型的數字碼 java 規定: 1. 兩個對象的 hashCode() 相等,那他們的 equals() 不一定相等 2. 兩個對象的 equals() 相等,那他們的 hashCode() 必定相等 3. 重寫 equals() 方法時一定要…

三天學會阿里分布式事務框架Seata-SpringCloud Alibaba分布式基礎案例搭建

鋒哥原創的分布式事務框架Seata視頻教程: 實戰阿里分布式事務框架Seata視頻教程(無廢話,通俗易懂版)_嗶哩嗶哩_bilibili實戰阿里分布式事務框架Seata視頻教程(無廢話,通俗易懂版)共計10條視頻&…

日志到filebeat-->logstash-->elastic-->kibana

1、日志到filebeat。 cat /etc/filebeat/filebeat.yml filebeat.inputs: - type: syslog format: rfc3164 protocol.udp: host: "0.0.0.0:514" output.logstash: hosts: ["localhost:5044"] 驗證方式: tcpdump -i 網卡名稱 udp port 514 2、…

NLog條件配置——實現將包含某個特定字符串日志寫入指定文件

需求產生緣由 在開發中為了了解程序在運行的內存狀態并記錄下來,以便出問題時判斷是不是與內存相關。于是實時采集了開發程序需要的內存信息。但采集的內存信息在存儲時,以NLog中的Trace級別來存儲的話,會與程序其它Trace級別的日志都記錄在…

瑞吉蒼穹外賣如何拓展?已經經過不同公司多輪面試。項目中會問到哪些問題?以及問題如何解決?

別催了,別催了,先收藏吧。 作者大大正在加班加點完成。 文章會盡快發布,關注收藏,盡請期待。 想要加入并查閱作者的知識庫可以聯系作者 不要白嫖,通過后,附上關注和收藏截圖。 已有眾多小伙伴加入 目前…

QtCreator報Failed to parse qmlimportscanner output解決

錯誤如下: 定位錯誤位置 增加錯誤信息打印 打印執行命令 執行打印輸出的命令,成功返回JSON 但輸出的JSON對象不是json格式,而是命令 增加$$成功輸出JSON 使用QtCreator12編譯一次后,再使用QtCreator13成功編譯通過,問題解決

初學者如何使用QT新建一個包含UI界面的C++項目

文章目錄 一、下載并安裝QT51、下載安裝包2、注冊/登錄賬號3、安裝qt6 二、新建QT Widget項目1、新建項目并且運行2、易錯點:可能運行成功得到UI界面但是會報錯(原因是使用了中文路徑) 一、下載并安裝QT5 1、下載安裝包 進入下載網址 Windo…

C語言系列16——C語言標準庫深度揭秘:探索其內核與應用

目錄 寫在開頭1.C語言標準庫概覽1.1 定義與組成1.2 歷史發展簡述1.3 C標準庫與C標準庫的關系 2.標準庫的核心組件2.1 輸入輸出庫(stdio.h)2.1.1 定義與作用2.1.2 核心函數和用法2.1.3 常見問題與解決方案 2.2 字符串和字符處理(string.h &…

面試經典150題【41-50】

文章目錄 面試經典150題【41-50】49.字母異位詞分組1. 兩數之和202.快樂數219. 存在重復元素II128.最長連續序列228. 匯總區間56.合并區間(華為面試題)57.插入區間452.用最少的箭引爆氣球20.有效的括號 面試經典150題【41-50】 49.字母異位詞分組 用這種…

今日話題:---自卑

自卑是一種普遍存在的心理現象,它可能源于個人對自身能力、外貌、社會地位等方面的不滿意或不自信。自卑感可能會導致消極的情緒和行為,如焦慮、抑郁、逃避現實等。然而,適度的自卑感也可能激發個人努力提升自己,從而實現自我成長…

TensorBoard的使用,add_image()的使用。

在TensorBoard中,add_image()函數用于將圖像數據添加到可視化中。它可以用于顯示模型輸入、輸出、中間特征圖等圖像數據,以幫助開發者理解模型的運行情況。 add_image()的用法: 使用ctrl點擊add_image() 注意:圖片類型要求為 t…

機器學習筆記 YOLOv9模型相關論文簡讀

一、YOLOv9簡述 自 2015 年 Yolov1 推出以來,已經出現了多個版本。 基于Darknet的YOLOv2、YOLOv3和YOLOv4 YOLOv5 YOLOv8 基于 Ultralytics。 SCALED-YOLOv4 使用 Pytorch 而不是 Darknet。 YOLOR是YOLOv4的改進。 YOLOX是YOLOv3的改進。 YOLOv6專注于工業應用。 YOLOv7 來自 …

【實戰-08】 flink自定義Map中的變量的行為

場景 自定義Map或者別的算子的時候,有時候需要定義一些類變量,在flink內部高并發的情況下需要正確理解這些變量的行為 代碼 package com.pg.function;import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common…

哇去,有了這篇文章,項目中引入了再多的字體包,我都不怕了!!!

通常情況下,我們在開發一個新項目的時候,項目那邊通常都會提供一些項目所需的字體包,來滿足項目對字體展示的特殊需求。 這部分大家都比較熟悉,就不詳細講了,直接上代碼: /* 引入字體包 */ font-face {fo…

異常處理(黑馬學習筆記)

當前問題 登錄功能和登錄校驗功能我們都實現了,下面我們學習下今天最后一塊技術點:異常處理。首先我們先來看一下系統出現異常之后會發生什么現象,再來介紹異常處理的方案。 我們打開瀏覽器,訪問系統中的新增部門操作&#xff0…

GEE高階應用python wxee——MODIS氣象數據可視化處理(2022年3-9月葡萄牙為例)以及可視化地圖加載

MODIS wxee 是專為處理氣象數據而設計的,但它在遙感數據方面也很有用。在本示例中,我們將了解 wxee 如何處理 MODIS 傳感器的數據,以及如何利用 xarray 對象創建彩色復合圖。 安裝和設定 #!pip install wxeeimport ee import wxeeee.Authenticate() wxee.Initialize(proje…