unity3d-物理引擎
- 格式:doc
- 大小:2.00 MB
- 文档页数:15
学习Unity3D游戏物理引擎的基本操作一、介绍Unity3D游戏物理引擎Unity3D游戏物理引擎是一款强大的工具,用于开发2D和3D游戏中的物理模拟和交互效果。
它提供了各种物理特性,如重力、碰撞检测、刚体模拟等,使得游戏开发者可以轻松地创建真实、逼真的物理效果。
二、创建物体和设置物理属性在Unity中,创建物体并设置其物理属性是使用物理引擎的第一步。
通过在场景视图中点击右键,可以选择创建一个新的游戏对象或复制现有的对象。
然后,可以在检查器窗口中调整新创建对象的物理属性。
2.1 设置刚体属性刚体是物理引擎中的基本单元,它具有质量、速度、角度等属性。
在检查器窗口中,选择一个游戏对象,然后点击"Add Component"按钮添加一个Rigidbody组件,即可将刚体属性添加到该物体上。
通过调整质量、重力和碰撞检测等属性,可以控制物体的行为和交互效果。
2.2 设置碰撞体属性碰撞体用于检测物体之间的碰撞。
在检查器窗口中,选择一个游戏对象,点击"Add Component"按钮,并选择"Physics/Collider",即可添加碰撞体组件。
根据具体需求,可以选择合适的碰撞体类型,如Box Collider、Sphere Collider等,并设置碰撞体的大小、形状和碰撞属性等。
三、物理效果的实现通过使用Unity3D游戏物理引擎,可以实现多种常见的物理效果,如重力、力的作用和碰撞反应等。
3.1 重力效果通过将物体的刚体属性设置为受重力影响,可以实现重力效果。
选择一个具有刚体属性的游戏对象,在检查器窗口中勾选"Use Gravity"选项,即可让物体受到场景中的重力影响。
3.2 力的作用通过在脚本中调用刚体的AddForce方法,可以实现对物体施加力的作用。
例如,可以创建一个脚本,在Update函数中添加代码rigidbody.AddForce(Vector3.forward * force),即可将力施加到物体上,使其沿着正前方移动。
unity3d在虚拟物理实验中的应用案例
虚拟物理实验已经成为现代教育领域中不可或缺的重要组成部分。
在虚拟物理实验中,学生可以通过模拟实验场景,进行各种物理实验
操作,获得实践经验和知识。
而Unity3D作为一款强大的跨平台游戏
开发引擎,也被广泛应用于虚拟物理实验的开发中。
在虚拟物理实验中,Unity3D可以提供高度真实的物理仿真环境,通过独有的游戏物理引擎,使得虚拟实验场景更加生动和具有参与感。
学生可以通过虚拟实验平台,模拟各种复杂的物理实验操作,如摩擦
力实验、斜面实验、力的平衡实验等,从而掌握物理规律和实验技巧。
同时,Unity3D还支持多平台的应用,可以在PC端、移动设备端和虚拟现实头显等不同设备上进行虚拟物理实验。
这种多平台支持,
为学生提供了更加灵活的学习方式,可以随时随地进行虚拟实验操作,提高了学生的参与度和学习效果。
另外,Unity3D还支持自定义开发和脚本编写,教师可以根据教
学需求自行设计和开发虚拟物理实验模块,实现个性化的教学内容和
实验场景。
通过虚拟物理实验,学生可以在安全、环保的虚拟环境中,进行各种不同难度的物理实验操作,拓展视野,激发学习兴趣,提高
学习自主性和实践能力。
总的来说,Unity3D在虚拟物理实验中的应用,为传统物理实验
教学带来了全新的思路和方式。
通过虚拟实验平台,学生可以在趣味
中学习,通过实践操作掌握物理知识,实现知识与实践的结合。
Unity3D的运用,为虚拟物理实验带来了更多可能性,促进了物理教育的现代化和个性化发展。
Unity物理引擎系统里两个常用组件- Rigidbody、Collider什么是Collider碰撞器组件在Unity引擎中触发物理碰撞的最基本的条件。
可以这样说,假如一个游戏中没有物理碰撞系统是不可能的。
什么是Rigidbody通过物理模拟的控制对象的位置。
Rigidbody组件添加到一个对象将其运动的控制下统一的物理引擎。
即使没有添加任何代码,Rigidbody对象将由重力向下拉,将反应与传入的对象如果正确的对撞机碰撞组件也存在。
Rigidbody也有脚本API,允许您力量应用于对象和物理现实的方式控制它。
例如,一辆汽车的行为可以指定在力量方面应用的轮子。
鉴于这种信息,物理引擎可以处理大多数汽车运动的其他方面,所以它将加速实际和正确应对冲突。
通常会在脚本的FixedUpdate函数中改变Rigidbody设置。
原因是防止在更新时时间不配合帧更新的步骤。
FixedUpdate称为每个物理之前立即更新,所以任何更改将会有直接处理。
开始使用Rigidbody时常见的问题是,游戏中模拟的物理系统似乎在“慢运动”运行。
这实际上是由于规模用于您的模型。
默认的重力设置假设一个世界单元对应于一米的距离。
与非现实的游戏,是没有多大的区别,如果您的模型都是100单位长但使用物理时,他们将被视为非常大的对象。
如果大规模用于对象应该是小,他们似乎会非常缓慢——物理引擎认为他们非常大对象摔倒非常大的距离。
考虑到这一点,一定要保持你的对象在现实生活中或多或少的规模(所以汽车应该大约4单位= 4米)。
Collider的用法碰撞器常用的方法•OnCollisionEnter//当另一个游戏对象的刚体或者碰撞器,碰撞到本游戏对象的碰撞器组件时,会调用这个方法... Collider.OnCollisionEnter(Collision)例如:•OnCollisionStay注意:当把碰撞器Collisider组件的触发器属性设置为true时,在脚本中会调用如下三个方法在Unity开发工具中使用到的组件接口面板Rigidbody常用的方法例如:例如:例如:3 4 rigidbody.AddTorque(Vector3.up * 10); }形成的效果如下例如:2 3 4 5 void FixedUpdate(){rigidbody.AddRelativeTorque(Vector3.up * 10); }那么在Unity物理引擎系统里两个常用的组件,Collider和Rigidbody就到这里。
项目十一迷宫夺宝之物理引擎(二)课程类型:理论+实践授课班级:数字媒体应用技术专业知识目标:学习物理材质、力、关节组件及其相关属性。
能力目标:掌握物理材质、力、关节等组件的应用。
重点:掌握物理材质、力、关节等组件的应用。
难点:完成实践任务。
教学方法:任务驱动法、案例法教学手段采用:打“√”模具实地参观挂图现场演练√多媒体√上机训练√C A I听力训练虚拟仿真其他教学过程设计(分教学步骤列出内容、时间安排、教学方法、训练项目、素材等)过程教学内容学生活动课程导入物理引擎就是用来模拟真实的碰撞后效果,通过物理引擎,实现这些物体之间相互影响的效果是相当简单的。
这节课继续学习物理材质、力、关节组件及其相关属性设置。
观看幻灯片思考讨论新课一、物理材质Unity 3D 物理材质是指物体表面材质,用于调整碰撞之后的物理效果。
Unity 3D 提供了一些物理材质资源,通过资源添加方法可以添加到当前项目中。
标准资源包提供了5 种物理材质:弹性材质(Bouncy)、冰材质(Ice)、金属材质(Metal)、橡胶材质(Rubber)和木头材质(Wood)。
观看幻灯片案例演示讨论学生练习新课一、物理材质在菜单中执行Assets→Create→Physics Material 便可将物理材质应用在需要的地方,如下图1所示。
图1图2执行创建物理材质的命令后,在对应的Inspector 面板上的物理材质设置界面如上图2所示。
二、实践任务:刚体测试1.任务构思物理材质就是指定了物理特效的一种特殊材质,其中包括物体的弹性和摩擦因数等,本任务通过小球弹跳测试物理材质的效果。
新课2.任务设计本任务在Unity 3D内创建一个简单的三维场景,场景内放有Sphere和Plane,Plane用于充当地面,Sphere用于物理材质的弹跳测试。
当小球被赋予bouncy材质后,即可在平面上反复跳动。
3.实施过程步骤1:新建项目bouncy,在场景中创建一个平面(0,0,0)和一个小球(0,5,0),使小球置于平面上方,如下图3所示。
unity3d引擎原理Unity3D是一款跨平台的游戏引擎,可以在Windows、MacOS、Linux、Android、iOS 等平台上进行游戏开发。
其本质是一个基于C++编写的底层引擎,通过C#脚本语言进行开发,完成游戏的开发、调试和发布。
Unity3D游戏引擎基于几个关键的设计原则,包括可组件的架构、事件驱动的编程模型以及物理与碰撞系统。
这些原则为游戏开发提供了很强的灵活性和可定制性,同时也保证了游戏运行的流畅和高效。
在Unity3D中,游戏对象是最基本的组件,其他所有组件都要附加在游戏对象上。
例如,一个角色的头发、衣服、武器等都可以作为游戏对象,通过添加附加组件来实现角色的行为表现。
组件之间通过消息传递来相互交互,消息分为内部消息和事件消息。
内部消息是针对同一个游戏对象的消息,而事件消息则是跨游戏对象进行消息传递。
Unity3D的物理引擎可以模拟真实世界的物理效果,例如重力、碰撞等,以及支持运动学模拟。
通过物理引擎的支持,游戏开发者可以更加方便地实现游戏的物理效果,并且减少了手动计算物理效果的复杂度。
在游戏的制作过程中,Unity3D提供了很多可视化的工具和预制件,可以方便地创建游戏场景、角色、道具等元素,并为这些元素添加物理效果、脚本等。
这些工具大大加快了游戏开发的速度,同时也为开发者提供了更多的灵活性和创造性。
在游戏发布时,Unity3D提供了很多不同的平台选项,可以方便地将游戏发布到不同平台上,例如PC、移动设备等。
此外,Unity3D还支持不同的输入设备和控制器,使得游戏可以适配不同的硬件设备,并且提供了各种游戏性能的优化技巧,以保证游戏的流畅和高效运行。
总之,Unity3D是一款灵活、高效的游戏引擎,它给游戏开发者提供了很多可视化的工具和组件,大大减少了游戏开发的复杂度,帮助开发者更快地完成游戏的开发、测试和发布,同时也为游戏玩家提供了更加优秀的游戏体验。
游戏开发中基于Unity的物理引擎使用教程Unity是一款强大的游戏开发引擎,其内置的物理引擎使开发者能够轻松地实现真实的物理效果。
在这篇文章中,我们将探讨Unity中基于物理引擎的使用教程,帮助您了解如何在游戏开发中利用物理引擎创建逼真的物理效果。
一、物理引擎的基本概念在介绍如何使用Unity中的物理引擎之前,我们首先需要了解一些基本概念。
物理引擎是一种模拟现实世界中物体运动和互动的工具,它可以模拟重力、摩擦、碰撞等物理效果。
Unity中的物理引擎主要基于 Newtonian Physics (牛顿物理学)。
二、启用物理引擎在Unity中,启用物理引擎非常简单。
首先,确保您的场景中存在一个用于运行物理模拟的物理空间,可以在Hierarchy面板中创建一个Empty Game Object作为容器。
然后,在Inspector面板中,点击“Add Component”按钮,选择“Physics”中的“Rigidbody”组件,并将其添加到物理空间对象上。
三、刚体和碰撞体在Unity中,物理引擎中的物体主要分为两种类型:刚体和碰撞体。
刚体是受物理引擎控制的对象,具有质量、位置和速度等属性。
刚体之间的相互作用可以通过碰撞来实现。
碰撞体是用来检测碰撞的组件,可以与其他碰撞体进行互动。
四、使用刚体组件为了让物体受到物理引擎的控制,需要给物体添加刚体组件。
选择你想要添加刚体的游戏对象,在Inspector面板中点击“Add Component”按钮,选择“Physics”中的“Rigidbody”组件。
刚体组件有一些可调节的属性,可以根据需求来设置。
例如,我们可以设置物体的质量、是否受到重力影响以及是否可以旋转等。
通过调整这些属性,我们可以创建不同的物理效果。
五、使用碰撞器组件为了让物体能够检测碰撞和互动,需要给物体添加碰撞器组件。
选择你想要添加碰撞器的游戏对象,在Inspector面板中点击“Add Component”按钮,选择“Physics”中的“Collider”组件。
unity3d知识点总结摘要:一、Unity3D简介与基本概念1.Unity3D发展历程2.Unity3D引擎特点3.基本概念:场景、游戏对象、组件二、Unity3D常用功能与技术1.界面与交互设计2.物理引擎3.动画系统4.网络通信5.音频处理6.图像处理与渲染三、Unity3D开发流程与方法1.项目规划与管理2.模块划分与设计3.编程模式与架构4.代码优化与调试四、Unity3D实战案例与技巧1.经典游戏案例分析2.跨平台发布与兼容性处理3.高效开发工具与插件4.性能优化技巧五、Unity3D未来发展趋势与展望1.行业应用领域2.技术创新与演变3.我国Unity3D发展现状与前景正文:一、Unity3D简介与基本概念Unity3D是一款非常受欢迎的跨平台游戏引擎,其发展历程可以追溯到2005年。
至今,Unity3D已经成为了游戏开发领域的重要力量。
Unity3D引擎具有以下特点:1.跨平台:支持Windows、Mac、Linux、Android、iOS等多种操作系统,便于开发者快速发布作品。
2.强大的图形渲染能力:Unity3D采用C#语言进行编程,结合强大的图形渲染引擎,为开发者提供了丰富的视觉效果。
3.丰富的生态系统:Unity3D拥有庞大的开发者社区,提供了丰富的插件、资产和教程,方便开发者学习和使用。
4.易于上手:Unity3D的操作界面友好,即使是对编程零基础的开发者也能快速上手。
在Unity3D中,基本概念包括场景、游戏对象和组件。
场景是游戏世界的容器,游戏对象是场景中的实体,而组件则是游戏对象的属性或功能。
二、Unity3D常用功能与技术1.界面与交互设计:Unity3D提供了丰富的UI组件,方便开发者设计美观且易于操作的游戏界面。
2.物理引擎:Unity3D内置了NVIDIA PhysX物理引擎,可以模拟真实世界的物理效果,如碰撞、摩擦力和重力等。
3.动画系统:Unity3D支持骨骼动画、面部动画等多种动画形式,为游戏角色赋予生动的表现。
unity基本知识Unity是一个用于创建游戏和三维互动内容的开发工具,是一个专业游戏引擎。
以下是Unity的一些基本知识:1. 游戏类型:Unity可以用来开发2D和3D游戏。
2D游戏的视角是锁定的,使用二维坐标,而3D游戏则允许任意视角,使用三维坐标。
此外,Unity还可以用于开发虚拟现实(VR)和增强现实(AR)应用程序。
2. 游戏引擎:Unity是一个游戏引擎,包含了渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎以及场景管理等系统。
这些系统可以帮助程序员更专注于游戏逻辑和设计,提高开发效率。
3. 场景(Scene):在Unity中,场景是游戏或应用程序的基本单位。
它是一个包含游戏对象(GameObjects)、灯光、相机等元素的容器。
通过在场景中添加、编辑和组织这些元素,可以构建出一个完整的游戏世界。
4. 游戏对象(GameObjects):游戏对象是Unity中最基本的元素,可以是角色、道具、环境等。
每个游戏对象都有自己的属性和行为,可以通过添加组件(Components)来扩展其功能。
组件是游戏对象的功能模块,可以赋予游戏对象不同的行为和属性。
5. 资源:Unity中用于构建游戏世界的各种素材,包括模型、纹理、声音等。
通过导入和管理资源,可以在游戏中使用它们来创建场景、角色等。
6. 物理引擎:Unity内置了一个强大的物理引擎,可以模拟真实世界中的物理效果。
通过为游戏对象添加刚体组件和碰撞器组件,可以实现物体的运动、碰撞和反应。
7. 脚本:通过编写脚本,可以控制游戏对象的行为、处理用户输入、实现游戏规则等。
以上是Unity的一些基本知识,如需了解更多信息,建议查阅专业书籍或咨询专业人士。
简介物理引擎就是在游戏中模拟真实的物理效果,比如,场景中有两个立方体对象,一个在空中,一个在地面上,在空中的立方体开始自由下落,然后与地面上的立方体对象发生碰撞,而物理引擎就是用来模拟真实碰撞的效果。
如果需要让模型感应物理引擎的效果,需要将刚体组件或角色控制器组件添加至该对象中。
刚体(Rigidbody)刚体是一个非常重要的组件,新创建的物体默认情况下是不具有物理效果的,而刚体组件可以给物体添加一些常见的物理属性,比如物体质量、摩擦力和碰撞参数等,这些属性可用来真实的模拟该物体在3D游戏世界中的一切行为。
下面我们在unity中创建一个plane(平面),两个cube(立方体),蓝色cube默认状态是没有rigidbody,给红色cube添加刚体组件,选择要添加刚体的对象,通过“Component—>hysics—>Rigidbody”或者在Inspector窗口,选择“AddComponent—>hysics—>Rigidbody ”运行后可以发现,添加了刚体的红色cube感应到了物理效应,会从空中落下。
而蓝色cube 依然是静止不动的可以看到Inspector可以看到Rigidbody包含的属性,简单的看下几个属性的含义,详细的可以看手册力力是物理学中一个非常重要的元素,其种类有很多,刚体组件可以受力的作用,比如给刚体施加一个X轴方向的力,那么该刚体绑定的物体将沿X轴方向向前移动,这就好比用力将物体仍出去一样,该物体会以抛物线的形式移动,而不是呆板的做匀速平移。
力的方式有两种1:普通力,通过设定里的方向和大小,相当于把力施加在物体的重心上。
2:位置力,需要设定目标点的位置,该物体就朝向这个目标位置施加力。
AddForce和AddForceAtPosition还是拿之前的那个列子做演示。
在Hierarchy视图中创建两个Sphere,红色的添加普通力,白色的添加位置力红色Cube当作位置力的目标对象。
Unity游戏开发中的物理引擎与碰撞检测引言Unity作为一款广泛应用于游戏开发的引擎,在物理引擎和碰撞检测方面提供了强大的功能。
本文将从物理引擎的基本原理以及碰撞检测的实现方式等方面进行详细介绍。
第一章物理引擎的基本原理物理引擎是指用于模拟和计算游戏中物体的运动和碰撞行为的软件组件。
Unity中的物理引擎主要使用的是基于Newtonian物理模型的Box2D和PhysX。
它们可以模拟物体的质量、位置、速度等物理特性,并在游戏中呈现出真实的物理效果。
1.1 物理引擎的基本原理物理引擎的基本原理是基于牛顿运动定律和能量守恒定律等物理学原理。
其核心是通过不断的迭代计算来模拟物体的运动轨迹。
在每个时间步长内,物体受到力的作用产生加速度,然后通过积分计算得到速度和位置的变化。
1.2 刚体和碰撞体在物理引擎中,物体被分为刚体和碰撞体两种类型。
刚体是指具有质量和位置信息,同时在物理模拟中不会发生形变的对象。
碰撞体则是指具有碰撞体积和形状信息,并参与碰撞检测和响应的对象。
第二章碰撞检测的实现方式碰撞检测是指判断游戏中两个或更多物体是否发生碰撞并做出相应的处理。
Unity中提供了多种碰撞检测的实现方式,包括基于物理引擎的碰撞器、触发器、射线检测以及自定义碰撞检测等。
2.1 碰撞器和触发器碰撞器是指添加到物体上的组件,用于检测物体之间的碰撞。
它可以通过设置形状、大小以及是否触发碰撞事件等参数来实现特定的碰撞效果。
触发器则是一种特殊的碰撞器,它可以检测到碰撞但不会引发物理模拟的响应。
2.2 射线检测射线检测是一种基于物理引擎的碰撞检测方式,在游戏中常用于判断玩家瞄准的目标或者可交互物体。
通过发射一条射线并检测其是否与目标物体相交,可以实现准确的碰撞检测,并获取到碰撞点的位置等信息。
2.3 自定义碰撞检测除了使用物理引擎提供的碰撞检测方式外,Unity还支持自定义碰撞检测的实现。
通过编写脚本和算法,开发者可以实现更加高效和准确的碰撞检测算法,例如利用包围盒、网格碰撞检测等。
unity3d-物理引擎
物理引擎就是在游戏中模拟真实的物理效果,比如,场景中有两个立方体对象,一个在空中,一个在地面上,在空中的立方体开始自由下落,然后与地面上的立方体对象发生碰撞,而物理引擎就是用来模拟真实碰撞的效果。
如果需要让模型感应物理引擎的效果,需要将刚体组件或角色控制器组件添加至该对象中。
刚体是一个非常重要的组件,新创建的物体默认情况下是不具有物理效果的,而刚体组件可以给物体添加一些常见的物理属性,比如物体质量、摩擦力和碰撞参数等,这些属性可用来真实的模拟该物体在3D游戏世界中的一切行为。
下面我们在unity中创建一个plane(平面),两个cube(立方体),
蓝色cube默认状态是没有rigidbody,
给红色cube添加刚体组件,选择要添加刚体的对象,
通过“Component—>Physics—>Rigidbody”或者在Inspector窗口,选择“AddComponent—>Physics—>Rigidbody ”
运行后可以发现,添加了刚体的红色cube感应到了物理效应,会从空中落下。
而蓝色cube 依然是静止不动的
可以看到Inspector可以看到Rigidbody包含的属性,简单的看下几个属性的含义,详细的可以看手册
力
力是物理学中一个非常重要的元素,其种类有很多,刚体组件可以受力的作用,
比如给刚体施加一个X轴方向的力,那么该刚体绑定的物体将沿X轴方向向前移动,
这就好比用力将物体仍出去一样,该物体会以抛物线的形式移动,而不是呆板的做匀速平移。
力的方式有两种
1:普通力,通过设定里的方向和大小,相当于把力施加在物体的重心上。
2:位置力,需要设定目标点的位置,该物体就朝向这个目标位置施加力。
AddForce和AddForceAtPosition
还是拿之前的那个列子做演示。
在Hierarchy视图中创建两个Sphere,红色的添加普通力,白色的添加位置力
红色Cube当作位置力的目标对象。
即向该位置发射一个位置力
1:创建脚本。
定义三个变量:
1public GameObject whiteSph; //白色球体施加普通力的对象2 public GameObject redSph; //红色球体施加目标位置力的对象3
public GameObject targetPos;//目标对象
2:GUI绘制两个Button,分别控制“普通力”和“位置力”逻辑代码
1void OnGUI() 2{ 3if (GUILayout.Button("普通力")) 4
{ 5redSph.rigidbody.AddForce(0,1000,0); //Y轴上力的大小为1000。
即向上6} 7if (GUILayout.Button("位置力")) 8 { 9//算出whiteSph到targetPos的目标向量10
Vector3 c = targetPos.transform.position -
whiteSph.transform.position;1112//在c位置施加一个位置力,targetPos将会向这个位置移动13
whiteSph.rigidbody.AddForceAtPosition(c, targetPos.transform.position, ForceMode.Impulse);14}15}
3:脚本挂载到Camera上。
给变量拖拽赋值。
运行看效果.
运行游戏,刚体会受物理效应会往下落
1:当单击普通力。
红色球体会往天空弹起,因为它有刚体。
最终还是外往下落。
2:当单击位置力。
白色球体会朝着红色方块位置添加力。
最终移动到这个位置。
3:当改变红色cube坐标后。
目标位置也跟着移动。
说了这么多。
那AddForce和AddForceAtPosition到底有什么区别呢?我也是跟着学。
跟着看手册,
也许只有等以后知道了它运用在什么逻辑代码中。
就自然而然了解了。
手册上的解释:
1:添加一个力到刚体。
作为结果刚体将开始移动。
2:在position位置应用force力。
作为结果这个将在这个物体上应用一个力矩和力。
力矩?是什么。
这个我也犯迷糊。
不过在手册手看到这样一个函数
AddTorque:添加一个力矩到刚体。
作为结果刚体将绕着torque轴旋转。
手册上函数有很多。
有兴趣的可以自己去测试,等下把手册给大家。
我也是网上下载的。
碰撞与休眠
刚体与物体之间是存在碰撞的,一旦刚体开始移动,就可以在系统方法中监听刚体的碰撞状态,碰撞分为三种:
1:进入碰撞
2:碰撞中
3:碰撞结束
我们通过一张图片来了解
碰撞器
游戏对象如果需要感应碰撞,那么必须给其添加碰撞器,默认情况下,创建游戏对象时,会自动将碰撞器添加到其中。
unity一共为对象提供了6种碰撞器
1:Box Collider 盒子碰撞器2:Sphere Collider 球体碰撞器3:Capsule Collider 胶囊碰撞器4:Mesh Collider 网格碰撞器5:Wheel Collider 车轮碰撞器6:Terrain Collider 地形碰撞器
在碰撞器之间可以添加物理材质,用于设定物理碰撞后的效果,它将将开始相互反弹,反弹的力度是有物理材质决定的。
文章出处狗刨学习网
unity标准资源包中提供了一些物理材质的资源,我们可以导入到当前工程中
导入成功后:
好。
我们可以看出之前的游戏中,球体下落是立即禁止的。
现在给之前的Plane添加弹性材质,运行游戏
可以看到刚体在弹性材质的作用下。
会反弹
碰撞检测
1:两个游戏对象必须有Collider
2:对于双方都要检测的物体,至少其中一个必须是刚体。
3:如果刚体是运动的,那么在双方都没有设置碰撞体的Is Trigger属性的时候,双方都可以通过OnCollisionEnter函数检测碰撞文章出处狗刨学习网
4:如果至少一个碰撞体Is Trigger被设置,那么双方可以通过OnTriggerEnter检测碰撞。