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

unity3d入门教程七

unity3d入门教程七

  • 17.1物理系统
  • 17.2静态刚体
  • 17.3刚体的碰撞
  • 17.4刚体的反弹
  • 18.1运动学刚体
  • 18.2碰撞检测
  • 18.3碰撞事件回调
  • 18.4目标的识别
  • 18.5碰撞的规避

17.1物理系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在物理系统中的物体具有质量和速度的是刚体
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不用写代码就会自由落体运动了

在这里插入图片描述

17.2静态刚体

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

给 ‘地面’ 添加一个 Rigidbody 2D 组件,使之成为刚体

将刚体类型设为 Static
在这里插入图片描述

此时地面就静止不动的刚体

上面的求可以下落,只是此时两者无碰撞,一直下落,下节讲碰撞的效果
在这里插入图片描述

17.3刚体的碰撞

在这里插入图片描述
在这里插入图片描述

上一节的球落地会直接穿过地面

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17.4刚体的反弹

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

18.1运动学刚体

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将飞机设置为kinematic刚体后,因为无质量,变不会自由下落,但会与其余刚体发生碰撞是能检测出来的

18.2碰撞检测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1 添加两个物体,‘飞机’ 和 ‘小球’

2 添加刚体组件 Rigidbody 2D
设为 Kinematic
在这里插入图片描述

3 添加 碰撞组件 Box Collider2d
勾选 Is Trigger ( 碰撞触发器 )
在这里插入图片描述

4 添加脚本组件 , 重写事件函数OnTriggerEnter2D()

    void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("飞机:探测到了碰撞 ... ");
}

小球和飞机刚体碰撞组件都添加了,飞机的脚本如下
小球暂无脚本
在这里插入图片描述
在这里插入图片描述

球不动,飞机向上飞,当碰撞到小球时,就会输出控制台

此时给小球添加脚本
在这里插入图片描述
在这里插入图片描述

碰撞后,小球和飞机都进行了输出
在这里插入图片描述

18.3碰撞事件回调

在这里插入图片描述

碰撞事件回调,有三个:
OnTriggerEnter2D :两个碰撞体开始相遇
OnTriggerStay2D : 两个碰撞体接触中
OnTriggerExit2D: 两个碰撞体分开

一般只使用第一个第一次碰撞的函数即可,后面两个方法用不到
在这里插入图片描述
在这里插入图片描述

只要拿到组件无论是collider2D还是transform等组件,有了组件就可以知道其挂载的游戏对象的名称等信息

通过collider2D拿到碰撞到的游戏对象的名称等信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

18.4目标的识别

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1 添加一个新的 Tag
菜单里找 Edit | Project Settings | Tags and Layers …
在这里插入图片描述

点 + 号,可以添加一个自定义 Tag
点 – 号,可以删除一个自定义的 Tag , 重启项目后生效

2 设置 Tag
在场景中选中一个物体,在 Inspector 窗口里设置 Tag
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

18.5碰撞的规避

此部分比较难,可以练习一下,前四节必须掌握

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

系统碰撞的时候自动计算,减轻CPU的消耗

在这里插入图片描述


http://www.kler.cn/news/308021.html

相关文章:

  • 如何编写智能合约——基于长安链的Go语言的合约开发
  • 我想要抓取新加坡当地电商平台数据,使用什么地区的IP最合适
  • C++数据排序( 附源码 )
  • linux-硬件与设备管理-硬件信息查看
  • 计算机网络 第3章 数据链路层
  • JS - 获取剪切板内容 Clipboard API
  • 数据结构——栈和队列(队列的定义、顺序队列以及链式队列的基本操作)
  • opencv学习:图像直方图均衡化与对比度受限的自适应直方图均衡化及实验代码
  • 针对特定接口记录审核日志类的写入数据库的方法
  • raksmart的G口大流量服务器怎么样?
  • C++学习, 数据抽象
  • 物联网架构
  • 单片机带隙电压基准电路
  • C#环境搭建和入门教程--vs2022之下
  • 51单片机应用开发---数码管的控制应用
  • c++_list
  • 前端开发macbook——NVM环境配置以及git配置流程
  • 《论软件需求管理》写作框架,软考高级系统架构设计师
  • TCP/IP - TCP
  • MySQL5.7基于mysqldump、xtrbackup、innobackupex工具进行全量备份/恢复、增量备份/恢复
  • 【编程基础知识】Java处理JSON格式转换的常用第三方库
  • 面试经典150题——多数元素
  • 表格标记<table>
  • [Linux]:动静态库
  • Python的学习步骤
  • 在docker中安装 zendesk/maxwell 失败,解决方法
  • 51单片机-IIC实验1-AT24C02数据存储(实战1)
  • 5. 理解 Hugging Face 的 AutoModel 系列:不同任务的自动模型加载类
  • git 问题 --- fatal: detected dubious ownership in repository at
  • 停车位检测-停车场车位识别