原来我的场景中有一个平面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

关于Unity中的Mesh Collider碰撞器相关推荐

  1. 关于Unity中的刚体和碰撞器的相关用法(一)

    1.创建一个3D工程 2.构造项目文件目录 3.保存场景为game_scene到文件夹scenes中 4.创建一个Plane平面类型的GameObject节点和一个Sphere球体类型的GameObj ...

  2. Unity 2.Space Shooter(碰撞器Collider,WebGL,刚体中属性,(定时)实例化、销毁游戏对象,触碰OnTriggerEnter/Exit,爆炸效果,音频,文字,定时调方法)

    目录 项目介绍 WebGL发布 游戏对象设置 灯光.相机 背景 移动游戏对象 Debug 制作子弹 射击动作 清理离开边界的游戏对象 制作危险物 添加爆炸,移动小行星,作为预制件 创建游戏控制器 循环 ...

  3. Unity3D中使用mesh collider和box collider的区别

    Unity3D中使用mesh collider和box collider的区别 踩坑过程记录. 设备是HTC的VIVE 和 Unity 5.x CPU: Intel Xeon Silver 4116 ...

  4. Unity学习日志_车轮碰撞器简介

    Unity学习日志_车轮碰撞器简介 1. 简介: 车轮碰撞器是一种针对地面车辆的特殊碰撞体.他有内置的碰撞检测.车轮物理系统和有滑胎摩擦的参考体.除了车轮,该碰撞体也可以用于其他游戏对象. 属性: M ...

  5. Unity中Skinned Mesh Renderer Blend Shapes小试

    第一个应用:如何使用网格渲染器Blend Shapes Unity制作木棍剥皮 1. Intro 2.Modeling (Blender) 打开Blender 软件 调整视角 然后快捷键: Shift ...

  6. Unity3d bounds包围盒 和collider碰撞器区别

    Bounds 外包围盒 Bounds 叫作外包围盒.边界框.外扩矩形.是struct 结构体.而我们获得Bounds的主要途径有三种:Render,Collider,Mesh. Render.boun ...

  7. Unity中Combined Mesh (root: scene)的解决方法

    解决方法:去掉Static标记.

  8. Unity --- 物理引擎 ---- 刚体RigidBody 与 碰撞器 collider

    1.RigidBody(刚体)的作用是让物体具有物理特性(比如说重力,摩檫力等等) 2.如果想让物体能够与其它物体发生碰撞的话,我们还需要一个组件 --- Colider碰撞器组件 1.上图就是Uni ...

  9. Collider(碰撞器)与IsTrigger(触碰器)详解

    1.什么是碰撞器? 描述了物体可被碰撞的边界,以及碰撞过程中相互影响效果. 碰撞效果: 两个游戏对象碰在一起,通过物理引擎产生类似现实的效果 种类: 盒碰撞器(Box Collider) 椭圆碰撞器( ...

最新文章

  1. weblogic服务器部署的程序,如何直接通过IP访问(即URL中去掉工程名)
  2. 《微信公众平台应用开发实战(第2版)》一导读
  3. 黑白青春-纪念那年我的秋天
  4. C# 的EF框架怎么连接Oracle数据库
  5. 通俗易懂!navicate如何导入MySQL数据库的.sql文件?
  6. 原动力CMS PHP域名授权系统V3.0
  7. [Android官方API阅读]___System Permissions
  8. linux命令mysql启动,linux中mysql启动服务命令
  9. spring boot 集成paypal支付 rest api v2的实现
  10. 手把手教你玩maven脚手架
  11. 外贸常用术语_外贸常用术语大全-
  12. 裁剪算法(计算机图形学)
  13. Linux基础:破解root密码(rd.break)
  14. day08---(05)课程大纲-章节和小节列表功能(接口)
  15. Java实现给PDF每页右上角添加图片水印
  16. 数字藏品盲盒系统功能开发H5源码搭建
  17. 第12集 关于库卡机器人对需要减速和插值方式说明
  18. 如何把一个qmake的Ubuntu手机应用打包为一个snap应用
  19. 路由器连接校园网并发WIFI:WR703N路由器安装OpenWRT并运行H3C客户端操作步骤(主要针对中山大学东校区)
  20. Python数据采集案例(1):微博热搜榜采集

热门文章

  1. 【POJ - 2762】Going from u to v or from v to u?(Tarjan缩点,树形dp 或 拓扑排序,欧拉图相关)
  2. 【NOIP2013积木大赛,NOIP2018铺设道路】积木大赛(思维,贪心)
  3. 【牛客 - 210A】游戏(思维,脑洞)
  4. 机器学习笔记(十六):大规模机器学习
  5. 计算机导论结业报告大一,河北工业大学计算机导论结业论文.pdf
  6. git切换用户密码_Java小白入门,常用Git命令有哪些?
  7. leetcode183. 从不订购的客户(SQL)
  8. leetcode1033. 移动石子直到连续
  9. 尚硅谷李老师Mysql基础笔记
  10. 初探函数式编程和面对对象式编程