Unity3D —— 碰撞检测

article/2025/11/11 7:24:15

(一)两种碰撞检测方式

(1)Collider:碰撞器

➜需要与刚体一起添加到游戏对象上才能触发碰撞,没有碰撞体的刚体会彼此相互穿过。

碰撞信息检测函数:

//碰撞开始
void OnCollisionEnter(Collision collisionInfo)//碰撞中
void OnCollisionStay(Collision collisionInfo)//碰撞结束
void OnCollisionExit(Collision collisionInfo)

(2)Trigger:触发器

➜只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框

触发信息检测函数:

//触发开始
void OnTriggerEnter(Collider other)//触发中
void OnTriggerStay(Collider other)//触发结束
void OnTriggerExit(Collider other)

注意:Collision是用来刚体的碰撞,而Collider是用来触发器的碰撞。其中,Collider含于Collision内。

(二)碰撞器与触发器的区别

(1)碰撞器是触发器的载体,触发器是碰撞器的一个属性;

(2)Is Trigger = false;产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;

(3)Is Trigger = true;没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数;

(4)Collider的参数类型为Collision,Trigger 的参数类型为Collider

(三)触发器使用场合

(1)既要检测碰撞,同时不影响物体移动;

(2)检测某个物件是否经过空间中的某个区域;

(四)六种碰撞器类型

  • (1)盒子碰撞器Box Collider

用途:基本立方体碰撞体,可调节大小;

参数:Center 中心

  • (2)椭圆碰撞器Sphere Collider

用途:基本球形碰撞体,可调节大小;

参数:Radius 半径

  • (3)胶囊碰撞器Capsule Collider

用途:由一个圆柱体和与其相连的两个半球体组成的碰撞体,可调节大小;

参数:Radius 半径 / Height 圆柱体高度 / Direction 方向(默认Y轴)

  • (4)车轮碰撞器 Wheel Collider

用途:一种针对地面车辆的特殊碰撞体,内置碰撞检测、车轮物理系统及滑胎摩擦参数;

参数:Radius 半径 / Height 圆柱体高度 / Direction 方向(默认Y轴)

  • (5)网格碰撞器 Mesh Collider

使用网格碰撞器有一些限制条件,通常,除非将网格标记为凸起(Convex)否则两个网格碰撞器之间不会发生碰撞;

所有的网格碰撞器可以和任何原型碰撞器碰撞;

  • (6)地形碰撞器 Terrain Collider

http://chatgpt.dhexx.cn/article/COrK1dln.shtml

相关文章

【Unity入门】24.碰撞检测

【Unity入门】碰撞检测 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)碰撞体 (1)Collider组件 上节课我们有学习到,unity的物理系统提供了更方便的碰撞…

Unity3D教程:简单的碰撞检测

需求:当立方体Cube碰到地面Plane的时候,输出碰撞物体的名称,则表述检测到立方体碰撞了地面。 1.搭建一个简单的场景。 在新的工程中选择File->new Scene创建新的场景。然后在该场景中添加地板:GameObject->Create Other-&…

Unity学习笔记(二) 碰撞检测与触发检测

正好看到了Roll a ball这个游戏,于是就温故一下碰撞检测和触发检测 1.前期准备 中间省去建造一些基础的物体的过程,最后呈现如下图 我们的主角就是中间的球体 其GameObject名为player,我们在其身上添上刚体组件(Rigidbody)使其可以进行物理移动 …

Python实战——过采样数据的处理之改进的SMOTE算法

文章目录 1 理论2 实现3 补充3.1 原理介绍3.1.1 欠采样与过采样3.1.2 Tomek Link 法欠采样3.1.3 Random Over Sampling 随机过采样3.1.4 SMOTE 过采样3.1.5 综合采样 3.2 Python实战3.2.1 数据探索3.2.2 不同的抽样方法对训练集进行处理3.2.2.1 拆分自变量与因变量3.2.2.2 抽样…

机器学习中非平衡数据的处理 —— smote算法

目录:SMOTE算法 1、不平衡数据的背景知识2、SMOTE算法的理论思想3、SMOTE模块的使用 1、不平衡数据的背景知识 在实际应用中,分类问题中类别的因变量可能存在严重的偏倚,即类别之间的比例严重失调,如欺诈问题,欺诈类观…

Python:SMOTE算法

17.11.28更新一下:最近把这个算法集成到了数据预处理的python工程代码中了,不想看原理想直接用的,有简易版的python开发:特征工程代码模版 ,进入页面后ctrlF搜smote就行,请自取 之前一直没有用过python&…

探索SMOTE算法

摘要 SMOTE是一种综合采样人工合成数据算法,用于解决数据类别不平衡问题(Imbalanced class problem),以Over-sampling少数类和Under-sampling多数类结合的方式来合成数据。本文将以Nitesh V. Chawla(2002)的论文为蓝本&#xff0…

不均衡数据集采样1——SMOTE算法(过采样)

SMOTE: Synthetic Minority Over-sampling Technique 论文地址:https://www.jair.org/index.php/jair/article/download/10302/24590 SMOTE的算法思路是: 使用K近邻,在附近(最少选附近5个点)随便找一个同一类别的点,然…

数据不平衡问题——SMOTE算法赏析

春节前后好久没有总结问题了,这一段时间一直在做NLP的文本分类(二分类)问题,遇到了各种问题 。分别如下: 1、数据打标问题。运营人手不够可把兄弟们累坏了,是我给兄弟们分的任务,别打我嘿嘿。 …

SMOTE算法代码实现

类别不平衡问题 类别不平衡问题,顾名思义,即数据集中存在某一类样本,其数量远多于或远少于其他类样本,从而导致一些机器学习模型失效的问题。例如逻辑回归即不适合处理类别不平衡问题,例如逻辑回归在欺诈检测问题中&a…

有关不平衡学习与SMOTE算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言因为最近的任务中运用到了Smote算法,但是我找了网上好多帖子都没有解决问题,因此去阅读了imblearn库的User guide。然后在这边写下所得到…

Borderline-SMOTE算法介绍及Python实现【内附源代码】

💖作者简介:大家好,我是车神哥,府学路18号的车神🥇 ⚡About—>车神:从寝室到实验室最快3分钟,最慢3分半(那半分钟其实是等红绿灯) 📝个人主页:…

SMOTE算法原理及Python代码实现

SMOTE算法原理及Python代码实现 文章目录 SMOTE算法原理及Python代码实现预备知识SMOTE算法内容的简单复习SMOTE算法的详细分析创建类对象和初始化构建训练函数构建合成样本函数 SMOTE算法的完整代码示例代码 预备知识 向量代数的知识:对于点 x 1 \mathbf{x}_1 x1​…

smote算法_海量样本无从下手?这五种抽样算法分分钟搞定

全文共 1854字,预计学习时长 4分钟 数据科学是研究算法的学科。本文介绍了一些常见的用于处理数据的抽样技术。 图片来源:unsplash.com/gndclouds 简单随机抽样 假设要从一个群体中选出一个集合,该集合中的每个成员选中的概率相等。 下列代码…

smote算法_探索SMOTE算法

SMOTE是一种综合采样人工合成数据算法,用于解决数据类别不平衡问题(Imbalanced class problem),以Over-sampling少数类和Under-sampling多数类结合的方式来合成数据。本文将以 Nitesh V. Chawla(2002) 的论文为蓝本,阐述SMOTE的核心思想以及实现其朴素算法,在传统分类器(贝…

[12]机器学习_smote算法

1、smote原理介绍 在两个点连线中间取点 2、smote算法实现 import random from sklearn.neighbors import NearestNeighbors import numpy as np import matplotlib.pyplot as pltclass Smote(object):def __init__(self, N50, k5, r2):# 初始化self.N, self.k, self.r, sel…

过采样:SMOTE算法

前言:在比赛中遇到关于样本不均衡问题,特地过来补补知识点! 1、smote原理 过采样的技术有非常多,最常见的就是随机过采样和SMOTE过采样。 随机过采样就是从少的类中进行随机进行采样然后拼接上去,这种效果很多时候和加权差不大。还有一种较…

SMOTE算法

SMOTE算法的思想是合成新的少数类样本,合成的策略是对每个少数类样本a,从它的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本。 如图所示: 算法流程: 1、对于少数类中每一个样本a&…

SMOTE算法及其python实现

SMOTE(Synthetic Minority Oversampling Technique),合成少数类过采样技术.它是基于随机过采样算法的一种改进方案,由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题&a…

SMOTE算法(人工合成数据)

SMOTE全称是Synthetic Minority Oversampling Technique即合成少数类过采样技术,它是基于随机过采样算法的一种改进方案,由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的…