当前位置: 首页 > news >正文

【零基础入门unity游戏开发——2D篇】2D物理系统 —— 2D刚体组件(Rigidbody2D)

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

文章目录

  • 前言
  • 一、2D物理系统碰撞触发必要条件
    • 1、碰撞器组件
    • 2、刚体组件要求
    • 3、层级碰撞设置
    • 4、几何相交检测
  • 二、Rigidbody2D组件
    • 1、Body Type 刚体/身体类型
      • 1.1 Dynamic 动态
        • (1)Material 材质
        • (2)Simulated 模拟的
        • (3)Use Auto Mass 使用自动质量
        • (4)Mass 质量
        • (5)Linear Drag 线性阻尼
        • (6)Angular Drag 角阻力
        • (7)Gravity Scale 重力大小
        • (8)Collision Detection 碰撞检测
        • (9)Sleeping Mode 休眠模式
        • (10)Interpolate 插值
        • (11)Constraints 约束
        • (12)Info 信息
      • 1.2 Kinematic 运动
        • (1)Simulated 模拟的
        • (2)Use Full Kinematic Contacts 使用完全运动学联系
      • 1.3 Static 静态
    • 2、如何选择不同类型的刚体类型
    • 3、代码控制
  • 专栏推荐
  • 完结

前言

学习2D刚体组件(Rigidbody2D)之前,建议先去看看我之前写的【3D刚体组件Rigidbody】,因为它们非常的类似。这里一些讲过的知识点就不过多赘述了。

2D物理系统中的刚体组件

  • 刚体是物理系统中用于帮助我们进行模拟物理碰撞中力的效果的。
  • 2D物理系统中的刚体和3D中的刚体基本是一样的,最大的区别是对象只会在XY平面中移动,并且只在垂直于该平面的轴上旋转。

一、2D物理系统碰撞触发必要条件

1、碰撞器组件

  • 双方物体必须都持有 Collider 2D 组件(如 BoxCollider2D, CircleCollider2D 等)
  • 用于定义物体的物理形状和碰撞边界

2、刚体组件要求

  • 至少一个物体需附加 Rigidbody2D 组件
  • 注意:若双方均为静态刚体(Body Type = Static),不会触发物理碰撞响应

3、层级碰撞设置

  • 双方物体的Layer需在 Physics 2D Settings(菜单:Edit > Project Settings > Physics 2D)中设置为可交互
  • 默认新层未配置时会继承项目初始设置

4、几何相交检测

  • 碰撞器之间需存在实际相交或重叠区域
  • 可通过 Collider2D.IsTouching() 方法检测实时接触状态

二、Rigidbody2D组件

在这里插入图片描述

1、Body Type 刚体/身体类型

在这里插入图片描述

相关文章:

  • AWS AI认证考试中经常提及几个重要的工具介绍
  • SSE进阶详解
  • CentOS 7下安装PostgreSQL 15
  • 【Android Studio开发】生命周期、Activity和组件通信(上)
  • Spring——Springcloud/Spring项目加载文件配置顺序
  • .NET三层架构详解
  • 【SpringBoot项目OOM记录及处理】
  • 如何重装windows系统
  • AppInventor2生成3位数的水仙花数
  • Python期末复习题库
  • Android 13系统定制实战:基于系统属性的音量键动态屏蔽方案解析
  • mysql 主从配置
  • XSS通关技巧
  • 创建vue2项目
  • 【MYSQL】索引和事务
  • vue 新项目安装依赖插件
  • Vue3 实战:基于 mxGraph 与 WebSocket 的动态流程图构建
  • WebSocket 的错误处理与断线重连
  • 5.1 位运算专题:LeetCode 面试题 01.01. 判定字符是否唯一
  • QT编程之PCM音频播放与采集
  • 视频丨习近平在河南洛阳市考察调研
  • 黄仁勋:新一代计算平台GB300三季度上市,AI计算能力每十年提升100万倍
  • 广东茂名高州市山体滑坡已致3死1失联,搜救仍在继续
  • 贯彻落实《生态环境保护督察工作条例》,充分发挥生态环境保护督察利剑作用
  • 《缶翁的世界》首发:看吴昌硕王一亭等湖州籍书画家的影响
  • 国宝文物子弹库帛书二、三卷从美启程,18日凌晨抵京