碰撞检测
文章平均质量分 70
无敌的成长日记
这个作者很懒,什么都没留下…
展开
-
OgreOde的使用
开发平台是windows7,IDE:visual studio 2008 sp1,Ogre版本号是:1.7.2,Ode版本号是:0.11.1,OgreOde版本:0.0.3.0首先需要申明的是现在这个OgreOde好像已经很久没有人维护了,最新的源代码下载下来在Ogre1.7.2下要编译通过的话还需要修改源代码中的某些地方。具体怎么改这不属于本文章所应该讲的内容。写这篇文章完全是因为官方的转载 2012-10-30 21:42:52 · 2155 阅读 · 0 评论 -
Ogre中用包围盒实现碰撞检测
在3D游戏中,碰撞检测算得上是最复杂也是最影响游戏效果的环节了,这里简单介绍一下如何在OGRE引擎里实现简单的碰撞检测。话不多说,先贴代码:bool EdenCollisionManager::Collide(){bool collide=false;m_KeyObject=*(m_ResearchObject.begin()); // m_Keyobjects是待检转载 2012-12-04 17:15:07 · 2982 阅读 · 0 评论 -
AABB包围盒算法
因为用到了Ogre的Vector3,所以首先需要配置Ogre的环境,在这里不再赘述。下面这是AABB头文件: aabb.h#ifndef AABB3_H#define AABB3_H#include "OgreOde_Core.h"#include "OgreOde_Prefab.h"#include "OgreOde_Loader.h"class cAABB3原创 2012-12-28 21:34:38 · 9079 阅读 · 1 评论 -
OgreOde官方教程出现的问题
Ogre官方网站有关于OgreOde是初级教程,但是编译之后有一些小问题,http://www.ogre3d.org/wiki/index.php/First_steps_with_OgreODE,一是不能发生碰撞,crate会从地面上穿过去,二是加入碰撞检测之后会有一半穿过平面。#include #include #include "marcBasicFrameListener.h"原创 2012-12-19 21:34:15 · 829 阅读 · 0 评论 -
AxisAlignedBox矩形边界框
矩形边界框另一种常见的用来界定物体的几何图元是矩形边界框,矩形边界框可以是与轴对齐的或是任意方向的。轴对齐矩形边界框有一个限制,就是它的边必须垂直于坐标轴。缩写AABB常用来表示axially aligned bounding box(轴对齐矩形边界框),OBB用来表示oriented bounding box(方向矩形边界框)。轴对齐矩形边界框不仅容易创建,而且易于使用。一个3D的AAB转载 2012-10-24 09:12:00 · 6685 阅读 · 0 评论 -
AABB包围盒、OBB包围盒、包围球的比较
1) AABB 包围盒: AABB 包围盒是与坐标轴对齐的包围盒, 简单性好, 紧密性较差(尤其对斜对角方向放置的瘦长形对象, 采用AABB, 将留下很大的边角空隙, 导致大量没必要的包围盒相交测试)。当物体旋转之后需对AABB 进行同样的旋转并更新; 当物体变形之后只需对变形了的基本几何元素对应的包围盒重新计算; 然后可以自下向上由子结点的AABB 合成父结点的AABB, 最后进行包围盒树的更新转载 2013-01-17 14:26:55 · 8298 阅读 · 0 评论 -
AABB和OBB包围盒简介
一、AABB立方体边界框检测用球体去近似地代表物体运算量很小,但在游戏中的大多数物体是方的或者长条形的,应该用方盒来代表物体。另一种常见的检测模型是立方体边界框,如图10-31展示了一个AABB检测盒和它里面的物体。坐标轴平行(Axially-aligned)不仅指盒体与世界坐标轴平行,同时也指盒体的每个面都和一条坐标轴垂直,这样一个基本信息就能减少转换盒体时操作的次数。AABB技术在当今转载 2013-01-17 14:33:24 · 4588 阅读 · 0 评论 -
分离轴测试
分离轴测试是空间碰撞检测中一个很常用、很有效的判断方法。它的原理来源于集合分析中的“分离超平面定理”(separating hyper-plane theorem):如果两个集合A和B不相交,那么必定存在一个分离超平面P,并使得A和B分别位于P的不相同的两侧。此定理对于空间数据中的凸集合和凹集合均适用。当数据集是凸集时这里的分离超平面就是一个空间的平面;当数据集是凹集时,这里的分离超平面则不再是一转载 2013-01-18 10:14:37 · 2152 阅读 · 0 评论 -
Ogre碰撞检测
Ogre采用树桩管理场景中的各种"元素"(摄像机、灯光、物体等),所有的东西都挂在"树"上,不在"树"上的东西不会被渲染。Ogre::SceneManager就是"树"的管理者,Ogre::SceneNode是从SceneManager中创建的(当然BSP和8*树的管理也和这两个类有关,这暂时不讨论)。AABB(轴对齐包围盒)这个东西是碰撞检测的基础,和它类似的还有OBB(有向转载 2013-01-09 09:29:38 · 3951 阅读 · 1 评论