游戏引擎中的BoundingBox
2026/5/27 17:04:01 网站建设 项目流程

一.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); }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询