關于Unity中的Mesh Collider碰撞器

原來我的場景中有一個平面Plane帶Mesh Collider碰撞器組件,一個主角Hero帶有一個Box Collider碰撞器和有重力的Rigidbody剛體組件,主角可以放在平面上。

在導入場景后,隱藏平面Plane,給一個地板添加一個Mesh Collider碰撞器,把主角放地板上,結果主角居然直接穿透過去,很奇怪。

然后我先隱藏平面Plane,再導入場景,再給一個地板添加一個Mesh Collider碰撞器,把主角放地板上,結果主角可以放在上面。

?

?

在官方文檔中看到這段話:

There are some limitations when using the Mesh Collider. Usually, two Mesh Colliders cannot collide with each other. All Mesh Colliders can collide with any primitive Collider. If your mesh is marked as Convex, then it can collide with other Mesh Colliders.

使用網格碰撞器有一些限制條件。通常,兩個網格碰撞器之間不會發生碰撞。所有的網格碰撞器可以和任何原型碰撞器碰撞。如果網格標記為凸起的(Convex),那么就可以和其他網格碰撞器碰撞。

?

所以可能是因為在導入場景后才隱藏平面Plane,使得地板的碰撞器為了不和還未隱藏的平面Plane碰撞而變的無效,導致主角和地板也沒有了碰撞。

我又做了一個試驗,把主角放在平面plane上面,然后再創建一個豎著的平面plane,結果主角可以穿透豎著的平面plane,然后我又標記了豎著的平面plane為Convex,就穿透不過去了,說明應該是這樣的。

所以我先隱藏或者刪除平面Plane再導入場景,再在場景的地板節點添加Mesh Collider碰撞器組件,就可以站在上面了。

?

?

還有一些要注意的點:

1.Mesh Colliders cannot collide with each other unless they are marked as Convex. Therefore, they are most useful for background objects like environment geometry.
除非被標記為凸起的(Convex),否則網格碰撞器間不會發生碰撞。因此,它們最常被用于背景對象比如環境布景。


2.Convex Mesh Colliders must be fewer than 255 triangles.
凸起的網格碰撞器含有的三角形面不能多于255個。


3.Primitive Colliders are less costly for objects under physics control.
原型控制器對于對象的物理控制更加節省資源。


4.When you attach a Mesh Collider to a GameObject, its Mesh property will default to the mesh being rendered. You can change that by assigning a different Mesh.
當為游戲對象附加了網格碰撞器,其網格屬性將被定義為用于渲染的網格,可以通過指派其他網格來改變。


5.To add multiple Colliders for an object, create child GameObjects and attach a Collider to each one. This allows each Collider to be manipulated independently.
要給一個對象添加多個碰撞器,應該創建子對象并給每個子對象添加一個碰撞器。這使每個碰撞器可以被單獨操作。


6.You can look at the gizmos in the Scene View to see how the Collider is being calculated on your object.
可以通過場景視圖(Scene View )中的線框(gizmos)來查看碰撞器在你的對象上的預期效果。


7.Colliders do their best to match the scale of an object. If you have a non-uniform scale (a scale which is different in each direction), only the Mesh Collider can match completely.
碰撞器盡量匹配對象的比例。如果有一組不規則伸縮(每一維度上的比例都不相同),只能使用網格碰撞器才能完全匹配。


8.If you are moving an object through its Transform component but you want to receive Collision/Trigger messages, you must attach a Rigidbody to the object that is moving.
如果你想接收通過Transform組件移動的對象的碰撞/觸發信息,你必須給移動對象附件剛體。

轉載于:https://www.cnblogs.com/HangZhe/p/7425871.html

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

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

相關文章

GCC常用選項使用詳解

通常所說的GCC是GUN Compiler Collection的簡稱,除了編譯程序之外,它還含其他相關工具,所以它能把易于人類使用的高級語言編寫的源代碼構建成計算機能夠直接執行的二進制代碼。GCC是Linux平臺下最常用的編譯程序,它是Linux平臺編譯…

java 井字棋 人機_井字游戲 人機對戰 java實現

package com.ecnu.Main;/*** 主函數觸發游戲*/public class MainApplication {public static void main(String[] args){TicTacToeGame ticTacToeGame new TicTacToeGame();ticTacToeGame.start();}}//TicTacToeGame 方法類import java.util.Scanner;public class TicTacToeGa…

Session(數據)共享的前后端分離Shiro實戰

1,前言本文期望描述如何使用Shiro構建基本的安全登錄和權限驗證。本文實戰場景有如下特殊需求:1,在集群和分布式環境實現session共享;2,前端只使用HTML/CSS/JS。因此無法直接使用Shiro提供的SessionManager&#xff0c…

讀書筆記(javascript 高級程序設計)

一. 數據類型: 1. undefined: 未聲明和未初始化的變量,typeof 操作符返回的結果都是 undefined;(建議未初始化的變量進行顯式賦值,這樣當 typeof 返回 undefined 時就知道是未聲明了,幫助定位問…

關于gcc擴展中的宏定義中用 # 和 ##

關于gcc擴展中的宏定義中用 "#" 和 "##"今天測試了宏定義中的 "#" 和 "##" 的區別。 結果如下: "#" 代表和一個字符串相連接 "##" 代表和一個符號連接,符號可以是變量,或另一…

java 年計算_java實現計算某年某月的天數

在計算某年某月的天數時,需要注意平年閏年。分析:閏年具體的判定方法就要看它的判定條件:四年一閏 , 百年不閏 ,400年再閏。而計算該年該月的天數,又分大月和小月,特殊月份2月之分。(視頻教程推…

添加自定義菜單,報錯40155

2019獨角獸企業重金招聘Python工程師標準>>> 提交的json中,某個自定義菜單對應的URL訪問是有問題的,請挨個檢查一下。 轉載于:https://my.oschina.net/selly1025/blog/1551496

gcc編譯流程及中間表示層RTL的探索

gcc編譯流程及中間表示層RTL的探索收藏新一篇: 解讀VC編程中的文件操作API和CFile類 | 舊一篇: Effective Item21 盡可能使用const 內容摘要 本文將以 C 語言為例,介紹 gcc 在接受一個 .c文件的輸入之后,其前端是如何進行處理并得到一個中間表示并轉交給…

【bzoj2132】圈地計劃 網絡流最小割

題目描述 最近房地產商GDOI(Group of Dumbbells Or Idiots)從NOI(Nuts Old Idiots)手中得到了一塊開發土地。據了解,這塊土地是一塊矩形的區域,可以縱橫劃分為NM塊小區域。GDOI要求將這些區域分為商業區和工業區來開發。根據不同的地形環境,每…

python爬蟲爬取數據如何將br去掉_Python怎么去除爬取下來的網站中的一些轉義字符串 - 收獲啦...

基本方法其實用python爬取網頁很簡單,只有簡單的幾句話這樣就可以獲得到頁面的內容。接下來再用正則匹配去匹配所需要的內容就行了。但是,真正要做起來,就會有各種各樣的細節問題。2.登錄這是一個需要登錄認證的網站。也不太難,只…

Linux基礎

Linux的特點: 系統版本:常見的有debian、Redhat更適合做服務器,更安全和穩定,Ubuntu唯一的優勢就是圖形界面好,centos目前被redhat收購,紅旗已經倒閉。 1、免費的/開源的;2、支持多線程/多用戶&…

GCC的編譯和調試--入門介紹

編譯與調試1.1編譯的概念和理解在進行C程序開發時,編譯就是將編寫的C語言代碼變成可執行程序的過程,這一過程是由編譯器來完成的。編譯器就是完成程序編譯工作的軟件,在進行程序編譯時完成了一系列復雜的過程。1.1.1程序編譯的過程在執行這一…

A* a=new B ,會不會產生內存泄露了,露了B-A的部分?

A* anew B ,delete a;會不會產生內存泄露了,露了B-A的部分。其中B為A的子類 析構函數在下邊3種情況時被調用:1.對象生命周期結束,被銷毀時;2.delete指向對象的指針時,或delete指向對象的基類類型指針,而其基…

spring 第一天:1015

對象加強的三種方法:1/繼承2/裝飾著模式3/動態調用 2:裝飾著模式:就是就是1-先建一個基類 ,如咖啡類 。味道很苦2- 再建一個類配料類 也就是說是所欲配料種類的父類。然后寫多配料子類個子類繼承配料類,。3-子類三個步…

java public 繼承_java繼承問題

代碼:父類:public class Father {public Father() {System.out.println("基類構造函數{");show();new a();System.out.println("}");}public void show() {System.out.println("基類----show");}public class a {public a…

BZOJ 1662: [Usaco2006 Nov]Round Numbers 圓環數(數位DP+惡心細節)

BZOJ 1662: [Usaco2006 Nov]Round Numbers 圓環數 Time Limit: 5 Sec Memory Limit: 64 MBDescription 正如你所知,奶牛們沒有手指以至于不能玩“石頭剪刀布”來任意地決定例如誰先擠奶的順序。她們甚至也不能通過仍硬幣的方式。 所以她們通過"round number&q…

Optimizing Code with GCC

現在的編譯器越來越聰明,功能越來越強,從簡單的函數內聯,到復雜的寄存器分析,一系列代碼革命使程序運行得越來越快。大多數時候,更快比更小重要,因為磁盤空間和內存都變得便宜了。但是在嵌入式系統里&#…

QTP的那些事--操作excel的函數

1: QTP Excel函數 操作EXCEL 數據表格 表單 編輯EXCEL 工作表 2: Dim ExcelApp As Excel.Application 3: Dim excelSheet As Excel.worksheet 4: Dim excelBook As Excel.workbook 5: Dim fso As scrīpting.FileSystemObject 6: 7: ******************…

java-生產者消費者模式

經常會有公司叫我們手撕代碼,比如網易,阿里,那我們是不是該掌握下呢。下面這段代碼來自《現代操作系統》進程與線程P49頁。 public class ProducerConsumer {public ProducerConsumer() { }private static final int N 100;static Producer …

yum查詢已經安裝mysql_通過yum安裝mysql

在linux中安裝數據庫首選MySQL,Mysql數據庫的第一個版本就是發行在Linux系統上,其他選擇還可以有postgreSQL,oracle等在Linux上安裝mysql數據庫,我們可以去其官網上下載mysql數據庫的rpm包,http://dev.mysql.com/downl…