游戏引擎中的BoundingBox

一.AABB包围盒

<1.包围盒定义

以长方体盒子形状,长方体顶点为描述的包围盒,在模型,碰撞体创建时同时创建,以实现物理碰撞,特殊shader渲染等常用功能.

center = (min + max) / 2

radius = min到max距离/2

复制代码
public class AABBBoundingBox
{
    public Vector4 min = Vector4.Zero;

    public Vector4 max = Vector4.Zero;

    public Vector4 center = Vector4.Zero;

    public float radius = 0f;
}

<2.包围盒相交物理检测

复制代码
public bool PointInsideBox(Vec3 point, float epsilon)
{
	return point.x + epsilon <= this.max.x 
            && point.x - epsilon >= this.min.x 
            && point.y + epsilon <= this.max.y 
            && point.y - epsilon >= this.min.y 
            && point.z + epsilon <= this.max.z 
            && point.z - epsilon >= this.min.z;
}

二.OBB包围盒

<1.包围盒定义

以长方体盒子形状,局部坐标系三个坐标轴向量进行描述的包围盒.

复制代码
public class OBBBoundingBox
{
   public Vector4 s = new Vector4(1f, 0f, 0f, 0f);

   public Vector4 f = new Vector4(0f, 1f, 0f, 0f);

   public Vector4 u = new Vector4(0f, 0f, 1f, 0f);
}
相关推荐
hai3152475438 天前
九章编程法 · 猜数字游戏 (GW-BASIC 重构版) *
人工智能·microsoft·游戏引擎·游戏程序
心前阳光8 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光8 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯8 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
鼎艺创新科技8 天前
三维电子沙盘中OSGB倾斜摄影数据的加载与渲染
游戏引擎·cocos2d
kyle~8 天前
Godot开源游戏引擎
开源·游戏引擎·godot
zdr尽职尽责8 天前
Unity录像功能
学习·ui·unity·游戏引擎
真鬼1238 天前
【Unity Cursor】AI规矩
unity·游戏引擎
mxwin8 天前
Unity Shader 深入理解 LinearEyeDepth 与 DepthTexture
unity·游戏引擎
开维游戏引擎9 天前
AI自动生成游戏时,deepseek和mimo对比
android·游戏·语言模型·游戏引擎·ai编程