Unity的碰撞检测

news2024/10/1 15:19:59

(一)测试前准备工作

        1.创建两个游戏对象,分别取名为”Player”和”Enemy”,并且为名为”Player”的游戏对象设置Tag也为”Player”,二者在场景中如图1所示:

图1 绿为Enemy,红为Player

        2.编写脚本组件”TriggerTest”,并挂载到Enemy上,代码如图2所示:

图2 TriggerTest脚本

(二)测试用例

        A3、A4、B1、B2与(一)中预设冲突,故舍弃。

       A5-A8以及B5-B8是一定不可能发生碰撞的用例,故舍弃。

表1 测试用例

游戏对象

用例序号

是否挂载碰撞器

是否挂载刚体

是否挂载TriggerTest

Player

A1

×

×

A2

×

A3

A4

×

A5

×

×

×

A6

×

×

A7

×

A8

×

×

Enemy

B1

×

×

B2

×

B3

B4

×

B5

×

×

×

B6

×

×

B7

×

B8

×

×

表2 测试用例组合

测试用例组合

控制台输出

A1、B3

输出Trigger

A1、B4

A2、B3

输出Trigger

A2、B4

输出Trigger

(三)测试总结   

        根据表1和表2可知,有效碰撞的必要条件如下:

       (1)两个游戏对象都需要挂载至少一个碰撞器组件;

       (2)两个游戏对象至少有一个挂载刚体组件;

       (3)至少有一个刚体组件的BodyType不为Static。

(四)碰撞检测相关的API

       (1)OnCollisionEnter()和OnCollisionEnter2D();

       (2)OnCollisionStay()和OnCollisionStay2D();

       (3)OnCollisionExit()和OnCollisionExit2D();

       (4)OnTriggerEnter()和OnTriggerEnter2D();

       (5)OnTriggerStay()和OnTriggerStay2D();

       (6)OnTriggerExit()和OnTriggerExit2D();

        具体看官方关于Monobehaviour类的说明。

如果这篇文章对你有帮助,请给作者点个赞吧!  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1129072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Linux从练气到飞升》No.22 Linux 进程间通信

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…

kafka入门03——简单实战

目录 安装Java 安装Zookeeper 安装Kafka 生产与消费 主要是记录下Kafka的安装配置过程,前置条件需要安装jdk和zookeeper。 安装Java 1.Oracle官网下载对应jdk安装包 官网地址:Java Downloads | Oracle 好人分享了下载需要的oracle账号&#xff0c…

linux基本指令(Chapter 2)

linux基本指令(二) 1.date指令 语法:date [option] [format] date命令的作用是显示时间:使用date %Y:%m:%d可以指定格式显示时间.例如:(注意这里的和%之后不要有任何间隔)并且这里是加号,并不是减号 1.在显示方面,使用者可以设定欲显示的格式,格式设…

NeRF综述

文章目录 《Nerf: Neural radiance field in 3d vision, a comprehensive review 》一、数据集:二、基于方法的分类(Method-based Taxonomy)三、基于应用的分类(Application-based Taxonomy)四、未来展望 《Nerf: Neur…

盘点网安最好入手的10大岗位,最高月薪30K!

前段时间,知名机构麦可思研究院发布了《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,信息安全位列第一。 对于网络安全的发展与就业前景已经说过很多,它是收入较高的岗位之一,在转行领域也占据着热…

番外8.1 Task

---------系统中有两个账号,分别是alex与arod,这两个账号除了支持自己的组,还共同支持一个名为project的组。如这两个账号需要共同拥有/srv/ahome/目录的开发权,且该目录不允许其他账号进入查阅,请问该目录的权限应如何…

动手学深度学习—含并行连结的网络GoogLeNet(代码详解)

目录 1. Inception块3. GoogLeNet模型3. 训练模型 GoogLeNet吸收了NiN中串联网络的思想,并在此基础上做了改进,并且在2014年的ImageNet图像识别挑战赛中获得了不错的效果。 1. Inception块 GoogLeNet论文解决了多大的卷积核最合适的问题。 Inception块…

yolo数据增强,同时旋转txt标签文件

github https://github.com/vkdx/vkdx_cnn-.git YOLO格式txt文件分析 标注好的txt文件中有对应每个标注框的信息,从左到有分别是: class:类别 x_center:标注框中心相对于图像的x坐标 y_center:标注框中心相对于图像的y坐标 w:标…

Day09字符流缓冲流序列化流IO框架

字符流 FileReader(文件字符输入流) 使用文件字符输入流,有啥好处? 读取中文不会出现乱码问题 FileWriter(文件字符输出流) 利用字符流将一个文本文件复制到E:盘下,例如:D:/1.txt复制到E:/2.txt 请使用…

C语言每日一题(17)数组匹配

牛客网 BC156 牛牛的数组匹配 题目描述 描述 牛牛刚学会数组不久,他拿到两个数组 a 和 b,询问 b 的哪一段连续子数组之和与数组 a 之和最接近。 如果有多个子数组之和同样接近,输出起始点最靠左的数组。 输入描述: 第一行输…

如何在不损失质量的情况下调整图像大小

如何在不损失质量的情况下调整图像大小 如果您在线工作,就会知道图像质量对于呈现干净专业的外观有多么重要。 库存图像和免版税图像很容易找到,但是如何在不损失质量的情况下调整图像大小以使其适合您的目的? 无论您是想将图片用于博客文…

【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 变量 1. 局部变量与成员变量的区别&#xff1a…

小白必看,手把手教你安装Python

目录 一,Python介绍 二,安装 Python 三,各种疑难杂症: 一,Python介绍 Python 是这两年来比较流行的一门编程语言,主要卖点是其相对简单的语法以及丰富的第三方库,下面我来带大家安装、配置 P…

【七】SpringBoot为什么可以打成 jar包启动

SpringBoot为什么可以打成 jar包启动 简介:庆幸的是夜跑的习惯一直都在坚持,正如现在坚持写博客一样。最开始刚接触springboot的时候就觉得很神奇,当时也去研究了一番,今晚夜跑又想起来了这茬事,于是想着应该可以记录一…

Redis数据类型——list类型介绍及基本操作

1.list类型介绍 redis中的list就是一个双向链表的结构 2.list类型数据基本操作

己知一棵有 2011 个结点的树,其叶结点个数为 116,该树对应的二叉树无右孩子的结点个数是

前言 树转二叉树的规则:每个结点左指针指向它的第一个孩子,右指针指向它在树中相邻的右兄弟,即“左孩子右兄弟“。 拓展:树中一个叶子节点在转化为二叉树的时候,如果它有右兄弟,那么它右指针会指向其兄弟节…

【软件安装】Linux系统中安装MySQL数据库服务

这篇文章,主要介绍如何在Linux系统中安装MySQL数据库服务。 目录 一、Linux安装MySQL 1.1、下载MySQL安装包 1.2、解压MySQL安装包 1.3、更改存放目录 1.4、创建用户组和用户 1.5、创建数据目录data 1.6、创建my.cnf配置文件 1.7、初始化数据库 1.8、添加m…

报告从root到sink的clock tree物理长度的脚本

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 距离clock root物理距离最远的sink未必是latency最大的,但是往往clock path的长度受其影响,比如一些寄存器放在距离clock root很远的channel里,与其balance的reg就需要垫 delay detour buffer,即…

【Maven教程】(九):使用 Maven 进行测试 ~

目录 1️⃣ account-captcha 1.1 account-captcha 1.2 account-captcha 的主代码 1.3 account-captcha的测试代码 2️⃣ maven-surefire-plugin 简介 3️⃣ 跳过测试 4️⃣ 动态指定要运行的测试用例 5️⃣ 包含与排除测试用例 6️⃣ 测试报告 6.1基本的测试报告 6.…

鸿蒙应用开发之环境搭建

一、环境搭建 正所谓“工欲善其事,必先利其器”。在正式学习一门课程之前,我们首先需要做的就是搭建开发环境。首先,我们需要下载DevEco Studio,DevEco Studio支持Windows系统和macOS系统,在开发HarmonyOS应用/服务前…