以下为AI生成的图文笔记的内容

一、创建简化场景
1. 创建房间空游戏对象
  • 场景搭建思路:先创建一个空游戏对象作为“房间”容器,再在其中添加方块来搭建地板和墙壁。
  • 创建步骤:右键点击层级面板 → 选择创建空游戏对象 → 命名为“房间”。
  • 简化原则:所有物体保持默认形状(方块、球体),不额外添加复杂模型。
2. 创建地板
  • 创建方法:在“房间”下创建方块(Cube),作为地板。
  • 缩放调整:在Y轴上不扩展,仅在X轴和Z轴上调整大小,使其成为扁平的地板形状。
  • 重命名技巧:按F2键快速重命名,或右键点击物体选择“重命名”,将地板命名为“Floor”。
3. 创建墙壁
  • 创建第一面墙:在“房间”下创建新的方块,切换到顶视图(点击Y轴),调整其大小和位置。
  • 复制墙壁:选中已创建的墙,按Ctrl+C复制,再选中“房间”按Ctrl+V粘贴,即可快速创建第二面墙。
  • 旋转调整:对于第三面墙,按Ctrl+C、Ctrl+V复制后,需要绕Y轴旋转90度,使其垂直于已有墙壁。
  • 尺寸微调:根据实际需要拉伸墙壁的长度,使其覆盖完整。
  • 注意事项:复制粘贴时,确保粘贴到“房间”层级下,否则新物体不会成为房间的子对象。
4. 材质上色
  • 上色方法:在材质(Materials)面板中创建新材质,为墙壁赋予蓝色,为地板赋予绿色。
  • 美化目的:上色仅用于美化场景,方便区分不同物体,不影响物理属性。
  • 视图操作回顾:点击Y轴获得顶视图,点击X轴获得侧视图,点击方块图标获得垂直视角,右键拖动可旋转视图。
二、摄像机
1. 主摄像机预览
  • 主摄像机的作用:场景中主摄像机所指向的方向,就是游戏运行时玩家看到的画面。
  • 预览视图:在编辑界面中,预览窗口显示的内容即为摄像机当前视角所捕捉的画面。
  • 游戏模式视图:进入游戏模式后,画面会切换到摄像机视角,模拟玩家实际看到的场景。
2. 旋转操作
  • 旋转摄像机:在编辑模式下,可以使用旋转工具调整主摄像机的角度,以选择想要的观察视角。
  • 操作示例:稍微旋转摄像机后,再进入游戏模式,画面会随之改变,呈现新的视角。
  • 游戏模式限制:在游戏模式下,无法移动或旋转摄像机,画面完全固定。
    • 若尝试旋转或调整视角,不会有任何反应。
    • 这是游戏模式与编辑模式的核心区别。
3. 编辑视图与部署视图
  • 编辑视图:用于编辑和准备所有内容,可以自由调整场景、物体和摄像机。
  • 部署视图(游戏视图):用于实际的部署和运行,展示玩家最终看到的画面。
  • 课程关注点:本课程主要关注场景的编辑与搭建,不涉及实际的部署环节。
    • 场景编辑是课程的核心内容,部署视图仅作为预览参考。
三、碰撞器
1. 碰撞器定义
  • 碰撞器的作用:使物体之间能够发生碰撞,例如球体与其他物体发生碰撞。
  • 碰撞的本质:当两个物体在表面上相互接触,且没有互相穿透时,即发生碰撞。
  • 核心地位:碰撞器与刚体是数字训练中最关键的两个工具,需要重点掌握。
2. 默认碰撞器
  • 默认配置:在Unity中创建的每个3D对象默认都会带有碰撞器。
  • 常见类型:
    • 球体 → 球形碰撞器
    • 箱子 → 箱型碰撞器
    • 圆柱体 → 圆柱形碰撞器
3. 碰撞器边界
  • 边界显示:橙色线表示碰撞器的边界范围。
  • 边界贴合:碰撞器边界应完全贴合物体形状,否则会出现部分区域可穿透、部分区域可碰撞的情况。
  • 注意事项:导入CAD文件时,物体不会自动带有碰撞器,需要手动适配。
4. 半径调整
  • 调整方法:通过修改半径参数,可以使碰撞器比物体本身更大。
  • 碰撞判定:碰撞发生时以碰撞器边界为准,而非物体可见边界。例如,球体碰撞器扩大后,箱子会在碰到绿色边缘时被推动,而非蓝色或橙色边缘。
5. 箱型碰撞器
  • 尺寸调整:箱型碰撞器可以分别更改X、Y、Z三个方向的尺寸。
  • 位置调整:可以沿左右、上下、前后方向移动碰撞器位置。
  • 与球形碰撞器的区别:球形碰撞器只能调整半径,箱型碰撞器可调整三个维度。
6. 胶囊型碰撞器
  • 形状特征:胶囊型碰撞器外观呈胶囊状,并非圆柱形。
  • 底部问题:胶囊型碰撞器底部为胶囊形状,没有平滑的底部,导致物体无法稳定站立,会掉落。
7. 碰撞器类型
  • 3D碰撞器类型:包括胶囊型碰撞器、网格碰撞器、球形碰撞器等。
  • 2D与3D区分:名称中不提及“2D”的均为3D碰撞器。
  • 网格碰撞器的重要性:网格碰撞器会根据物体的形状自动调整,是最重要的碰撞器类型,但仅适用于不太复杂的物体。
8. 网格碰撞器
  • 使用方法:选择网格碰撞器后,可禁用或删除原有的胶囊碰撞器。
  • 工作原理:网格碰撞器会创建一个与物体形状相同的网格,如同覆盖在物体表面的布料,随物体形状调整。
9. Convex选项
  • Convex功能:勾选Convex选项后,网格碰撞器会完美覆盖物体形状,例如圆柱体。
  • 模拟效果:点击模拟后,网格碰撞器会生成与物体形状一致的碰撞区域。
  • 局限性:仅拥有碰撞器不足以阻止物体相互穿透,还需要配合刚体使用。
四、刚体
1. 刚体定义
  • 刚体的作用:赋予物体运动属性,使其具备可移动物体的物理特性。
  • 使用场景:需要让物体产生物理交互(如下落、碰撞、弹跳)时,必须添加刚体组件。2. 聚焦物体

  • 操作方法:点击任意物体后按 F 键,即可聚焦到该物体上,消除线段分隔干扰。
  • 适用对象:适用于任何 3D 组件。
3. 添加刚体组件
  • 添加路径:点击"添加组件"并输入"刚体",注意区分 2D 和 3D 类型,选择不带 2D 的刚体。
  • 添加效果:添加后物体立即受物理引擎控制,在模拟模式下会开始下落。
4. 模拟模式注意事项
  • 重要警告:在模拟模式下所做的修改(如添加刚体)会在停止模拟后消失,必须从头开始。
  • 操作建议:工作时确保不在模拟模式中,避免修改被删除。
5. 刚体属性
  • 核心属性:
    • 质量(Mass):控制物体的重量,影响碰撞效果。
    • 阻力(Drag):影响物体在运动中的减速程度。
    • 角阻力(Angular Drag):影响物体旋转时的减速程度。
    • 使用重力(Use Gravity):决定物体是否受重力影响。
    • 运动学(Is Kinematic):控制物体是否受物理力驱动。
    • 约束条件:可冻结位置或旋转,限制物体的运动自由度。
6. 静态物体与碰撞器
  • 静态物体处理:对于不应移动的物体(如地面),只需添加碰撞器,无需添加刚体。
  • 碰撞器作用:使静态物体在与其他物体碰撞时能弹开,防止穿透。
7. 运动物体与刚体
  • 运动物体处理:需要移动的物体必须同时添加碰撞器和刚体。
  • 质量设置:可根据需求调整质量值(如设为 50),并决定是否启用重力。
8. 模拟下落与弹跳
  • 模拟效果:开始模拟后,物体在重力作用下下落并与地面碰撞弹跳。
  • 物理交互:刚体与碰撞器协同工作,实现真实的物理反馈。
9. 碰撞器与物体贴合
  • 碰撞器贴合:碰撞器是实际接触地面的部分,而非物体本身。
  • 常见问题:碰撞器尺寸过大时,物体与地面之间会出现空隙,看起来不真实。
    • 例如:球形碰撞器半径过大,导致球体悬浮。
    • 盒子碰撞器大于方块本身,同样产生空隙。
  • 正确做法:确保碰撞器与物体轮廓完美贴合,使碰撞器接触地面。
10. 恢复原始碰撞器
  • 恢复方法:删除调整过的碰撞器,添加新的默认碰撞器。
    • 删除球形碰撞器,添加新的球形碰撞器。
    • 删除盒子碰撞器,添加新的盒子碰撞器。
  • 操作目的:避免手动调整尺寸,快速恢复默认贴合状态。
11. 下落速度调整
  • 现象:物体下落速度过慢,不符合真实重力效果。
  • 原因:Unity 中的重力值受多种因素影响,可在"编辑"中随时调整。
  • 调整方法:进入编辑设置,修改重力参数以匹配预期物理效果。
12. 禁用重力
  • 操作:取消勾选"使用重力"选项后,物体不再受重力影响,不会下落。
  • 物理交互:即使不受重力,物体仍可被其他物体推动,产生碰撞反应。
  • 注意事项:禁用重力可能导致物理行为异常,如穿透或奇怪的推动效果。
13. 插值与连续碰撞检测
  • 设置建议:为刚体碰撞检测选择"连续"模式,并将插值设置为"插值"。
  • 作用原理:
    • 连续碰撞检测:更频繁地处理碰撞,避免高速运动时穿透。
    • 插值:更频繁地处理物理模拟,使运动更加平滑真实。
  • 应用范围:对所有刚体对象统一设置,确保交互效果真实可靠。
五、控制重力
1. 重力参数调整
  • 调整路径:停止模拟后,进入编辑 → 项目设置,找到物理相关参数。
  • 重力默认值:设置为 9.81,这是现实世界中的重力值。
  • 游戏中的重力:现实中的重力并不总是适用于游戏场景,需要根据游戏设计进行近似调整。
2. 物体大小与下落速度
  • 物体大小的影响:创建的物体越大,下落越慢;体积越小,下落越快。
  • 调整策略:需要根据场景中物体的大小来合理设置重力值,以获得真实的物理效果。
3. 重力效果验证
  • 调整示例:将重力值设为 90.81(约为默认值的10倍),点击模拟后观察物体下落明显加快。
  • 效果对比:重力值提高约十倍后,物体下落效果更接近真实。
  • 参考价值:本操作可作为后续调整重力的参考方法。
七、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

场景搭建基础

创建空游戏对象作为“房间”,使用立方体搭建地板和墙壁;通过右键创建3D对象并重命名(F2键或右键重命名)

视图切换:点击Y轴=顶视图,X轴=侧视图,方块图标=透视/正交视角切换;物体聚焦快捷键F

⭐⭐

碰撞器(Collider)

Unity中每个3D对象默认自带碰撞器(球形/盒形/圆柱形);碰撞器边界由橙色线显示,需确保完全贴合物体

碰撞器可独立于物体移动/缩放(如半径调整);圆柱体默认是胶囊碰撞器而非圆柱形,底部不平滑会导致物理异常

⭐⭐⭐

网格碰撞器(Mesh Collider)

选择网格碰撞器并勾选Convex选项,可完美贴合任意形状物体(如圆柱体);需删除默认的胶囊碰撞器

网格碰撞器适用于复杂形状,但必须勾选Convex才能参与物理碰撞;适用于导入的CAD文件

⭐⭐⭐

刚体(Rigidbody)

刚体赋予物体物理属性(质量、重力、阻力);静态物体只需碰撞器,运动物体需碰撞器+刚体

模拟模式下修改会被删除,必须退出模拟模式再编辑;刚体属性包括:质量、阻力、角阻力、使用重力、运动学、约束条件

⭐⭐⭐

物理模拟优化

刚体需设置插值(Interpolate) 和碰撞检测(Continuous) 模式,使交互更真实

插值=平滑运动,连续碰撞检测=防止高速穿透;所有运动物体都应设置这两项

⭐⭐⭐

重力调整

编辑→项目设置→物理→重力(默认9.81);游戏中的重力需根据物体大小调整

物体越大下落越慢,越小下落越快;可设置为90.81(约10倍)获得更真实效果

⭐⭐

物理材质

通过物理材质(Physics Material)调整物体的弹性和摩擦力

物理材质需在Assets中创建,可设置动态/静态摩擦力和弹性系数

⭐⭐

C#脚本基础

实现实际物理运动需要编写C#脚本;脚本可控制物体运动、交互逻辑

脚本是后续实现交互功能的基础,需掌握创建和挂载方法

⭐⭐⭐⭐

对比项

静态物体

动态物体

碰撞器

✅ 必须

✅ 必须

刚体

❌ 不需要

✅ 必须

插值设置

—

✅ 建议开启

连续碰撞检测

—

✅ 建议开启

典型应用

地板、墙壁

球体、可移动物体

操作步骤

关键动作

注意事项

1. 创建房间

新建空对象→创建立方体→重命名

使用F2快速重命名

2. 搭建地板/墙壁

调整缩放(Y轴高度,X/Z轴长度)

顶视图便于对齐

3. 添加碰撞器

默认自带→检查贴合度→必要时改用网格碰撞器

圆柱体需删除胶囊碰撞器

4. 添加刚体

选择运动物体→添加刚体组件→设置插值和连续检测

退出模拟模式后再编辑

5. 调整重力

编辑→项目设置→物理→修改重力值

根据物体大小调整(约10倍)

6. 测试物理效果

进入模拟模式→观察碰撞与下落

模拟模式修改不会被保存

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐