π导航  


【首页】

Blender游戏引擎教程:给车辆添加碰撞盒


【2024-04-16】 Blender学堂】


浏览图片
Blender
游戏引擎教程


A、我的汽车模型

2706个多边形

浏览图片

注:当你的车与另一个物体相撞时,碰撞力是为每个多边形计算的。

大量的多边形意味着大量计算。这会影响游戏的帧率。

B、我的碰撞箱

68多边形

浏览图片

注:碰撞箱是一个简单的汽车模型。

多边形越少,每次碰撞所需的计算就越少。

这意味着游戏的帧速率更快。

C、更换网格执行器

浏览图片

本教程使用“替换网格”执行器将碰撞箱网格替换为赛车网格。

它不会替换碰撞边界。

1. 渲染引擎: Blender游戏

Info menu >> Engine box >> Blender Game

注:只有当选择了Blender Game渲染引擎时,菜单才可用。

2. 创建车辆

注:游戏引擎车辆包装器使用车辆的X轴表示宽度,Y轴表示长度,Z轴表示高度。

3. 为您的车辆创建一个低多边形碰撞框

注:游戏引擎车辆包装器使用车辆的X轴表示宽度,Y轴表示长度,Z轴表示高度。

4. 检查车辆比例

Vehicle selected

3D View menu >> View >> Properties

Properties shelf >> Transform tab >> Scale

注:除非有充分的理由,否则比例应始终为1.0

5. 将车辆比例设置为1.0。

将所有轴上的比例设置为1.0(如果尚未设置)。X轴、Y轴和Z轴

6. 检查碰撞盒比例

Vehicle selected

3D View menu >> View >> Properties

Properties shelf >> Transform tab >> Scale

注:除非有充分的理由,否则比例应始终为1.0

浏览图片

7.将碰撞盒比例设置为1.0。

将所有轴上的比例设置为1.0(如果尚未设置)。X轴、Y轴和Z轴

浏览图片

8.定位车辆和碰撞盒对象中心

Collision Box selected: Edit mode

Select all verts

Move mesh

Vehicle selected: Edit mode

Select all verts

Move mesh

注:车辆包装器使用对象中心作为重心。

替换网格执行器使用对象中心来定位替换网格

浏览图片

9.添加一个传感器

Select the Collision Box

Logic Editor >> Sensors >> Add Sensor >> Always

设置为运行一次(禁用真触发和假触发)

注:本教程使用始终传感器设置运行一次

浏览图片

浏览图片

10. 添加一个控制器

Logic Editor >> Controllers >> Add Controller >> AND

注:在本教程中,使用的是And控制器

11. 添加编辑对象执行器

Logic Editor >> Actuators >> Add Actuator >> Edit Object

注:替换网格是编辑对象执行器的一部分。

更换网格执行器必须位于更换网格的对象上。

12. 选择编辑对象:替换网格

Edit Object selection box >> Replace Mesh

13. 从列表中选择替换网格

Logic Editor >> Actuators >> Replace Mesh Actuator

Mesh List box >> Select replacement mesh

14. 设置Gfx按钮

Logic Editor >> Actuators >> Replace Mesh Actuator

启用gfx按钮

注:

gfx按钮:将碰撞框的网格替换为车辆模型的网格

15. 禁用Phys按钮

Logic Editor >> Actuators >> Replace Mesh Actuator

禁用Phys按钮

注:

Phys按钮:将碰撞盒的物理替换为车辆模型的物理。

16. 设置碰撞框的物理类型

3D View >> Select Collision Box

Properties menu >> Physics button >> Physics tab

Physics Type: Rigid Body

Actor checkbox: Enabled

No Sleeping checkbox: Enabled

Attributes >> Mass: 200

注:

Rigid Body: 移动且旋转

Static: 不移动

Dynamic: 移动但不旋转

No Collision: 不与其他游戏对象冲突

Note:

Actor enabled: 作用于其他游戏对象并与之反应

No Sleeping checkbox enabled: 这个游戏对象的物理永远不会被禁用。

No Sleeping checkbox disabled: 此游戏对象的物理在一定程度的不活动后被禁用。

17. 设置碰撞边界

Properties menu >> Physics button >> Physics tab

Collision Bounds checkbox enabled

Bounds: Convex Hull

Margin: 0.02

注:

Bounds: 游戏引擎用于计算碰撞的方法。

Box:使用简单的框计算碰撞.

Triangle Mesh: 将网格的每个多边形分解为三角形。使用三角形计算碰撞。

Convex Hull: 创建最小数量的平面以覆盖网格。使用创建的平面计算碰撞。

注:

Margin:游戏对象之间允许的最小间隙

18. 连接逻辑块

Always Sensor >> And Controller >> Replace Mesh Actuator

注:连接逻辑块,从一个逻辑输出拉线到另外一个逻辑输入。

19. 启动游戏引擎

Info menu >> Game >> Start Game Engine



                        

copyright©2018-2024 gotopie.com