Unity Colliders

Unity中常用的碰撞器

通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过。

常用碰撞体有以下几种:

Box Collider:

盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳。最适合的是使用在盒子和箱子上。

选项:
• Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎所忽略。
• Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式。
• Center:碰撞体在对象局部坐标的中的位置
• Size:可调整碰撞体的大小
• Sphere Collider:球形碰撞体,是一个基于球体的碰撞体,可用作石头,乒乓球等
• Radius:调整球形碰撞体的半径,没有了Size属性。

Capsule Collider:

胶囊碰撞体,由一个圆柱体两端分别连接两个半球体组成,可用在Character Controllers,或与一些其他不规则形状的碰撞结合来使用。

选项:
• Height:高度。
• Direction:方向,默认是Y轴

Mesh Collider:

网格碰撞体,通过获取网格对象并在其基础上构建碰撞器,与其他碰撞体相比,网格碰撞体更加精细,但会占用更多系统资源。只有在开启Convex属性才可以与其他的网格碰撞体发生碰撞。

选项:
• Smooth Sphere Collisions:平滑碰撞,开启此项碰撞会变得平滑,因此在平滑的表面建议开启此选项。
• Mesh:网格,获取对象的网格并将其作为碰撞体。
• Convex:凸起,勾选后可以与其他的网格碰撞起发生碰撞。

• 注意:网格碰撞器可以与所有的碰撞体发生碰撞,但要与其他的网格碰撞体发生碰撞必须开启Convex属性,且只有当网格碰撞体网格的三角形数量少于255的时候Convex属性才会生效。

Wheel Collider:

车轮碰撞体,是一种针对地面车辆的特殊碰撞体,它有内置的碰撞检测,车轮物理系统,滑胎摩擦参考体。除了车轮也可用于其他对象。

选项:
• Mass:车轮碰撞体的质量。
• Radius:车轮碰撞体的半径大小。
• Suspension Distance:车轮碰撞体的最大悬挂距离,根据局部坐标Y轴向下延伸。
• Center:轮胎碰撞体的局部坐标的中心。
• Suspension Spring:车轮的悬挂弹簧,通过添加弹簧和阻力使得悬挂达到目标位置。
• Spring:弹簧,弹簧力度越大,悬挂到达目标的位置也就越快。
• Damper:阻力器,阻尼器控制着悬挂的速度,数值越大,悬挂弹簧移动的速度越慢。
• Target Position:悬挂沿着其方向上的静止时的距离。
• Forward Friction:当轮胎向前滚动时的摩擦力属性。
• Extremum Slip:滑动极值
• Extremum Value:极限值
• Asymptote Slip:滑动渐进值
• Asymptote Value:渐进值
• Stiffness Factor:刚性因子
• Sideways Friction:当轮胎侧向滚动时的摩擦力属性。
• 同Forward Friction一样有5个可设置值

车轮碰撞检测是通过从局部坐标Y轴向下投射一条射线来实现的,车轮有一个通过悬挂距离向下延伸的半径,可通过脚本中不同的属性值来对车辆进行控制。这些属性值有motorTorque(马达转矩)、brakeTorque(制动转矩)和steerAngle(转向角)。与其他物理引擎的碰撞体相比,车轮碰撞体是通过一个基于滑动摩擦力的参考体来单独计算摩擦力的。

时间: 2024-09-16 03:18:56

Unity Colliders的相关文章

《Unity 游戏案例开发大全》一6.5 游戏主场景

6.5 游戏主场景 Unity 游戏案例开发大全 前面的小节详细介绍了游戏主菜单场景,本小节将介绍游戏主场景的脚本开发,游戏主场景是本案例最重要的场景,也是游戏的关键场景.本游戏共有四个关卡,对应四个不同的场景,其开发方法基本相同,这里以关卡一为例进行详解. 6.5.1 场景搭建 首先进行游戏界面场景的搭建,这里步骤比较繁琐,包括模型的摆放.组件的添加.参数的设置等.通过此小节的开发,读者可以熟练掌握这些知识,同时也会积累一些开发技巧和细节.接下来对游戏场景的搭建进行详细的介绍. (1)首先新建

unity发布apk卡住不走了

问题描述 unity发布apk卡住不走了 unity发布apk的时候,不动了怎么办,一直是那个进度值,任务栏图标的进度条也是一闪一闪的,有没有人知道是为什么啊???是不是跟light有关?(没有报任何错误,已经几个小时了) 解决方案 http://www.cnblogs.com/U-tansuo/p/unity3d_apk_decompilation.html 解决方案二:

unity php-js如何阻止默认的android上传功能

问题描述 js如何阻止默认的android上传功能 现在是将网页嵌入到了Unity,然后Unity外面有一层Android,用js写了一个上传图片的代码,只在浏览器里运行是正常的,但是嵌入到android以后,点击上传,会自动调用Android默认的选择本地文件的功能,并且带了裁剪等一系列功能. 我现在想要屏蔽掉默认的选择文件功能,只想用自己写的js来选择图片.怎么屏蔽掉呢.搞了我好久了.

unity中的音乐在ios上不能循环播放

问题描述 unity中的音乐在ios上不能循环播放 RT播放完一边后本来是应该继续播第二遍的结果在ios上就卡在那里了在winodows上没问题在Mac机上有问题请问这是什么原因?

Unity引擎宣布抛弃Flash平台

相信很多独立游戏以及移动游戏开发者都不会对Unity引擎感到陌生.今天,Unity公司CEO David Helgason发布消息称,游戏引擎Unity今后将不再支持Flash平台,且于今天起不再销售针对Flash开发者的软件授权. 官方指出,由于Adobe对于自身的Flash平台并没有明确的发展方向,加上不稳定的播放器质量,以及一些打破开发者信任的行为等等,Unity已决定在4.X版之后不再针对Flash平台进行相关的开发工作与投资. 但为了顾及目前仍正进行Flash项目的开发者,官方在4.X

在unity中用c#脚本控制物体的随机落下

问题描述 在unity中用c#脚本控制物体的随机落下 我想用Unity3d 做了一个场景,20s倒计时,当时间一到,天空开始随机不停的降落物体(这个物体可以是一个Cube),越到后面,物体下落的速度越快.时间不到,物体就不降落.这个用脚本要如何写呢? 解决方案 你可以这样试试:先去做一个要掉落的物体Cube ,然后将它存成一个Prefab在生成的Script 里面去检测时间(涉及Time),一旦20s到了之后,去执行一个for loop(i~n)loop里面用 Instantiate 生成随机位

ASP.NET MVC中使用Unity Ioc Container

在MVC中,控制器依赖于模型对数据进行处理,也可以说执行业务逻辑.我们可以使用依赖注入(DI)在控制层分离模型层,这边要用到Repository模式,在领域驱动设计(DDD)中,Repository翻译为仓储,顾名思义,就是储存东西的仓库,可以理解为一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合.使用依赖注入(DI)就是对Repository进行管理,用于解决它与控制器之间耦合度问题,下面我们一步一步做一个简单示例. 安装Unity 首先我们需要新建一个UnityMVCDemo项目

Unity内部脚本的初级知识

脚本概览 这是一个关于Unity内部脚本如何工作的简单概览. Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被特定的事件调用.最常用的列在下面: Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物理代码. FixedUpdate:这个函数在每个物理时间步被调用一次,这是处理基于物理游戏的地方. 在任何函数之外的代码: 在任何函数之外的代码在物体被加载的时候运行,这个可以用来初始化脚本状态. 注意:文档的这个部份假设

Unity 3D引擎开发中的2D Toolkit插件介绍

概述 如果过去你一直从事3D游戏开发,最近想转做2D游戏,最好尝试一下2D Toolkit.2D Toolkit是一款2D开发组件,它具有很强的灵活性和适应性,能够让开发者在Unity环境中进行2D开发. 2D Toolkit基本没有学习门槛,拥有可编写脚本的动画编辑器以及具有Unity平台特性的组件集合,能够对像素进行完美呈现.2D Toolkit能够完全支持Unity 4,它对于2.5D场景的开发和建立也十分有效. 2D Toolkit的售价是65美元,本月28日刚刚发布了1.90 Fina