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.rhkb.cn/news/426094.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubernetes技术详解,带你深入了解k8s

目录 一、Kubernetes简介 1.1 容器编排应用 1.2 Kubernetes简介 1.3 k8s的设计架构 1.3.1 k8s各个组件的用途 1.3.2 k8s各组件之间的调用关系 1.3.3 k8s的常用名词概念 1.3.4 k8s的分层结构 二、k8s集群环境搭建 2.1 k8s中容器的管理方式 2.2 k8s环境部署 2.2.1 禁用…

stm32开发之串口空闲中断和环形数组的最简单的组合使用

前言 本次使用的是lwrb开源的源码;测试环境使用的是stm32f407zgt6这里不介绍lwrb的内容,如有需要请自行去查阅.这里会使用到rt_container_of的宏定义(相关介绍请参考rt_thread或linux源码相关的宏定义,其表达的内容是一致的)这里使用的是threadx做为os本…

kali里面搭建docker容器

注意事项:kali版本,镜像源 (1)权限为管理员: sudo su (2) 更新软件包列表并升级已安装的软件包 apt-get update apt-get upgrade 出错了,应该是更新源出问题了。 (3)更换镜像源&am…

java日志框架之JUL(Logging)

文章目录 一、JUL简介1、JUL组件介绍 二、Logger快速入门三、Logger日志级别1、日志级别2、默认级别info3、原理分析4、自定义日志级别5、日志持久化(保存到磁盘) 三、Logger父子关系四、Logger配置文件 一、JUL简介 JUL全程Java Util Logging&#xff…

Git提交类型

说明:Git提交类型指的是代码commit时,写在comment前面的标志,表示此次commit的提交类型,如下: Git提交类型 常见的Git提交类型有: feat:新特性、新功能或优化; fix:修复…

C++ | Leetcode C++题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; class Solution { public:int numberOfArithmeticSlices(vector<int>& nums) {int n nums.size();if (n 1) {return 0;}int d nums[0] - nums[1], t 0;int ans 0;// 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开…

Mysql表的增删查改(基础)

1.CRUD 1. 在SQL中&#xff0c;我们可以在 -- 后写注释的内容。 2. CRUD即增加(Create),查询(Retrieve),更新(Update),删除(Delete)的英文首字母缩写。 2.增加&#xff08;Create&#xff09; SQL语句&#xff1a; insert into 表名 (列名&#xff0c;列明...) values (值…

Java | Leetcode Java题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; class Solution {public int thirdMax(int[] nums) {Integer a null, b null, c null;for (int num : nums) {if (a null || num > a) {c b;b a;a num;} else if (a > num && (b null || num > b)) {c b;b num;…

海康威视相机在QTcreate上的环境配置教程(qt+opencv+海康SDK)

环境配置教程 前言&#xff1a;环境配置&#xff1a;1.海康SDK2.opencv 参考导入文件 前言&#xff1a; 配置环境是编程的第一步&#xff0c;所以写这篇文章来指导环境的配置。如果已经配置好了&#xff0c;想在qt上使用海康的摄像头&#xff0c;可以参考这篇文章&#xff1a;…

MFC实现对话框与控件的自适应调节

一.对话框属性设置 先将对话框的Border属性由Dialog Frame设置为Resizing。 二.添加消息处理函数 类向导 -> 消息&#xff08;WM-SIZE&#xff09;添加处理函数->void COnshowDlg::OnSize(UINT nType, int cx, int cy)。 三.添加代码 在.h文件中声明&#xff1a; vo…

影刀RPE学习——自动化

下载网址&#xff1a;影刀RPA - 影刀官网 (yingdao.com) 傻瓜式安装进入界面&#xff1a; 官方教程&#xff1a;影刀RPA零基础入门教程&#xff08;2024最新版&#xff09;&#xff1a;01 引入课-影刀初相识_哔哩哔哩_bilibili

[数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1245 标注数量(xml文件个数)&#xff1a;1245 标注数量(txt文件个数)&#xff1a;1245 标注…

sqlgun靶场训练

1.看到php&#xff1f;id &#xff0c;然后刚好有个框&#xff0c;直接测试sql注入 2.发现输入1 union select 1,2,3#的时候在2处有回显 3.查看表名 -1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()# 4.查看列名…

安装node 报错需要:glibc >= 2.28

--> 解决依赖关系完成 错误&#xff1a;软件包&#xff1a;2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs) 需要&#xff1a;libm.so.6(GLIBC_2.27)(64bit) 错误&#xff1a;软件包&#xff1a;2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodej…

【AcWing】【双指针算法】799. 最长连续不重复子序列

最长连续不重复子序列 这是一道基于双指针算法的题目&#xff0c;但是想解这道题需要一点额外的思路&#xff0c;第一遍我没想出来&#xff0c;故在此对这道题的思路进行记录。 题目描述与输入输出 思路 这道题目的要求是寻找不包含重复的数的最长子序列&#xff0c;从题目来…

Python | Leetcode Python题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; class Solution:def numberOfArithmeticSlices(self, nums: List[int]) -> int:n len(nums)if n 1:return 0d, t nums[0] - nums[1], 0ans 0# 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开始枚举for i in range(2, n):i…

OpenCV calcHist()函数及其用法详解

OpenCV calcHist()函数原型共有三个&#xff0c;如下&#xff1a; 该函数计算一个或多个数组的直方图。用于递增直方图箱的元组的元素取自同一位置的相应输入数组。 函数参数&#xff1a; images 源&#xff08;图像&#xff09;数组。它们都应具有相同的深度、CV_8U、CV_16U…

若依-原理

1.代码生成器 1.1源码分析 代码生成器分为两个部分&#xff1a; 第一部分涉及将业务表结构导入到系统中 第二部分是点击生成按钮&#xff0c;系统将根据表结构生成相应的前后端代码&#xff0c;并提供下载。 1.表结构说明 gen_table&#xff1a;存储业务表的基本信息 &am…

硬件工程师笔试面试——无线通讯模块

目录 15、无线通讯模块 15.1 基础 无线通讯模块实物图 15.1.1 概念 15.1.2 常见的无线通讯模块及其特点 15.1.3 无线通讯模块参数 15.1.4 无线通讯模块工作原理 15.2 相关问题 15.2.1 如何根据项目需求选择合适的无线通讯模块? 15.2.2 无线通讯模块的安全性如何,如…

[机器学习]聚类算法

1 聚类算法简介 # 导包 from sklearn.datasets import make_blobs import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.metrics import calinski_harabasz_score # 构建数据 x,ymake_blobs(n_samples1000,n_features2,centers[[-1,-1],[0,0],[1…