Skip to content
编码者
编码者

IT规划、数字化转型、架构设计、项目管理、软件开发

  • 首页
  • 系统设计
  • 程序员基础
    • 计算机网络
  • 生活随记
  • 编程记录
    • C语言编程
    • Python编程
    • iOS App开发
    • .NET技术栈
    • WordPress
    • Unity游戏开发
    • UE虚幻引擎
  • 数据科学
    • 数据合规
    • 数据分析
  • 行业领域
    • 软件开发服务
    • 供应链
  • 思维框架
    • 咨询框架
    • 项目管理
  • 人工智能
  • 关于我
编码者

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: 12
Unity游戏开发 Unity刚体Unity开发游戏开发

文章导航

Previous post
Next post

发表回复 取消回复

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

近期文章

  • 2025年AI行业趋势综述
  • 《Unity入门实战》0006 – 第一个 C# 示例代码,演示如何捕获输入
  • 《Unity入门实战》0005 – 创建 C# 脚本
  • 如何通过联盟营销在2025年将您的科技博客变现
  • IT 尽职调查(IT Due Diligence, ITDD) —— 投资与并购视角下的指南与清单
  • 《Unity入门实战》0004 – Unity 刚体(Rigidbody)
  • 《Unity入门实战》0003 – Unity 编辑器窗口与常用快捷键
  • 《Unity入门实战》0002 – 安装Unity 和 Visual Studio
  • 《Unity入门实战》0001 – 什么是 Unity 以及为什么选择它
  • 系统架构设计:核心概念、关键主题和整体思维框架的初步解析

近期评论

    归档

    • 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)

    分类

    • 业务领域 (2)
      • 咨询行业 (2)
    • 人工智能 (3)
    • 外语 (1)
      • 英语 (1)
    • 思维框架 (8)
      • 架构 (3)
      • 项目管理 (2)
    • 数据科学 (3)
    • 生活笔记 (23)
      • FESH 周报 (1)
    • 程序员基础 (3)
      • 计算机网络 (2)
    • 系统设计 (1)
    • 编程笔记 (54)
      • .NET技术栈 (3)
      • C语言编程 (1)
      • Golang技术栈 (1)
      • iOS App开发 (1)
      • Python编程 (18)
      • UE虚幻引擎 (1)
      • Unity游戏开发 (7)
      • Wordpress (3)
      • 工具 (1)
    • 行业动态 (14)
    ©2025 编码者 | WordPress Theme by SuperbThemes