Skip to content
编码者
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

  • 首页
  • IT咨询
    • IT咨询框架
    • IT项目管理
  • 人工智能
    • AI概念和理论
    • 数据科学
    • 人工智能应用
  • 企业架构
    • 应用架构设计
  • 程序员基础
    • 计算机网络
  • 编程技术栈
    • C语言编程
    • Python编程
    • iOS App开发
    • .NET技术栈
    • WordPress
    • Unity游戏开发
    • UE虚幻引擎
    • 技术问题记录
  • 工具Tips
  • 行业动态
  • 关于我
编码者

关注IT咨询、IT规划、数字化转型、架构设计、项目管理、软件开发和交付

《Unity入门实战》0004 – Unity 刚体(Rigidbody)

编码者, 2025年5月8日2025年5月9日

Unity Rigidbody 简介

在 Unity 中,Rigidbody(刚体) 是一个组件,使游戏对象能够与物理引擎交互。它允许游戏对象响应重力、力、碰撞和其他物理效果,使运动和交互更加真实。

Rigidbody 的关键特性

特性描述
Mass(质量)控制对象的重量。较重的对象需要更大的力才能移动。
Drag(阻力)随时间减慢运动(类似空气阻力)。
Angular Drag(角阻力)随时间减慢旋转运动。
Use Gravity(使用重力)决定对象是否受重力影响。
Is Kinematic(运动学)如果选中,对象不受物理力影响,但仍可通过脚本移动。
Interpolate(插值)当对象移动快速或帧率较低时,平滑运动。
Collision Detection(碰撞检测)控制如何检测碰撞(离散、连续等)。

实践示例

第一步:创建两个 2D 精灵

  • 地面:右键点击“Main Camera” → 2D Object → Sprites → Square,然后在 Inspector 中将其颜色更改为黄色。
  • 球体:右键点击“Main Camera” → 2D Object → Sprites → Circle,然后在 Inspector 中将其颜色更改为绿色。

点击“播放”按钮,您会注意到球体保持静止——它尚未移动。

第二步:为球体添加 Rigidbody2D

在 Hierarchy 中选择球体对象,然后在 Inspector 中点击“添加组件”。搜索并添加 Rigidbody2D 组件。

现在,当您按下“播放”按钮时,球体将因重力而下落,但它不会在碰到地面时停止。

第三步:添加碰撞器以进行碰撞检测

  • 地面:选择地面对象,点击“添加组件”,并添加 BoxCollider2D。
  • 球体:选择球体对象,点击“添加组件”,并添加 CircleCollider2D。

现在按下“播放”按钮——球体应会下落并在碰到地面时停止,这要归功于碰撞器和 Rigidbody2D 的协同工作。

通过以上步骤,您已经成功地在 Unity 中使用 Rigidbody2D 实现了基本的物理交互。

❓ 为什么球体落到地面时不会弹跳?


默认情况下,Unity 的 Rigidbody2D 和 Collider2D 组件不会产生弹跳效果。弹跳(或反弹)取决于物体所使用的 Physics Material 2D(物理材质) 设置。

✅ 如果你想让球体弹跳,请按照以下步骤操作:

第一步:创建一个 Physics Material 2D

在 Project 面板中,右键点击 → Create(创建) → 2D → Physics Material 2D
将其命名为 BouncyMaterial

在 Inspector(检查器) 中设置以下属性:

  • Friction(摩擦力):0
  • Bounciness(弹力系数):1(也可以尝试 0.8 到 1.0 之间的值)

第二步:将材质应用到球体的 Collider 上

  • 选择 Ball(球体) 对象
  • 找到其 CircleCollider2D 组件
  • 将 BouncyMaterial 拖动到该组件的 Material 属性栏中

运行游戏
现在,当你点击“播放”按钮时,球体在接触地面时就会和现实中的小球落地一样会弹跳。

原文:Unity #0004 – Unity Rigidbody – Wonderful Code See

Post Views: 38
Unity游戏开发 Unity刚体Unity开发游戏开发

文章导航

Previous post
Next post

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

近期文章

  • 软件系统架构演进:单体、微服务和打包业务能力(PBC)
  • 免费HTTPS证书配置 :CentOS 7 + Nginx + Let’s Encrypt 全流程指南
  • AI编程实战001:从0打造网页版打字游戏《快乐打地鼠》
  • 机器学习三要素:模型假设、评价函数与优化算法如何协同工作
  • 如何导出宽表格Excel为PDF且不裁剪列
  • 人工智能发展简史:从图灵到ChatGPT的里程碑之路
  • AI Agents介绍:定义、原理、案例与未来展望
  • 人工智能(AI)初学者学习路线图(2025年)
  • 《Unity入门实战》0008 – 使用 Unity 的 [SerializeField] 实现封装与 Inspector 面板访问
  • 《Unity入门实战》0007 – 第一个 Unity C# 脚本:控制 2D 小球移动与跳跃

近期评论

    归档

    • 2025 年 6 月 (10)
    • 2025 年 5 月 (10)
    • 2025 年 4 月 (5)
    • 2025 年 2 月 (1)
    • 2024 年 12 月 (4)
    • 2024 年 11 月 (7)
    • 2024 年 9 月 (1)
    • 2024 年 8 月 (4)
    • 2024 年 7 月 (1)
    • 2024 年 2 月 (1)
    • 2023 年 12 月 (3)
    • 2023 年 11 月 (6)
    • 2023 年 10 月 (4)
    • 2023 年 9 月 (2)
    • 2023 年 8 月 (38)
    • 2022 年 2 月 (1)
    • 2022 年 1 月 (13)
    • 2021 年 1 月 (1)
    • 2020 年 10 月 (1)
    • 2020 年 1 月 (1)
    • 2014 年 7 月 (2)

    分类

    • IT咨询 (7)
      • IT咨询框架 (3)
      • IT项目管理 (2)
    • 人工智能 (11)
      • AI概念和理论 (1)
      • 人工智能应用 (1)
      • 数据科学 (3)
    • 企业架构 (5)
      • 应用架构设计 (2)
    • 工具Tips (3)
    • 生活笔记 (23)
    • 程序员基础 (3)
      • 计算机网络 (2)
    • 编程笔记 (56)
      • .NET技术栈 (3)
      • C语言编程 (1)
      • Golang技术栈 (1)
      • iOS App开发 (1)
      • Python编程 (18)
      • UE虚幻引擎 (1)
      • Unity游戏开发 (9)
      • Wordpress (5)
      • 工具 (1)
    • 行业动态 (14)
    ©2025 编码者 | WordPress Theme by SuperbThemes | 沪ICP备17019044号-3