物理引擎
文章平均质量分 91
阿波阿波
这个作者很懒,什么都没留下…
展开
-
Bullet(Cocos2dx)之分析刚体创建与销毁(Primitives)
相关链接:http://bulletphysics.org/mediawiki-1.5.8/index.php/Collision_ShapesBullet基本图形简介Bullet提供的基本图形包括球体、长方体、圆柱体、胶囊体、圆锥体、多球体当然还有一个Plane,一个无限的平面 1.球体是个很简单的形状:btSphereShape (btScalar radius) 提供原创 2015-01-07 16:36:36 · 1963 阅读 · 0 评论 -
Bullet(Cocos2dx)之凸多面体形状和组合形状
接高度地形图和三角形网格,同样是复杂图形的创建。先来看看效果左边通过提供的顶点生成的多面体,右边创建一个由球体与长方体组成的组合形状 首先来了解凸多面体根据提供的顶点创建一个凸多面体形状,无论给定的顶点顺序是怎样的,都是创建一个由这些顶点组成的凸多面体。先来看看btConvexHullShape的解释及构造函数///this constructor opti原创 2015-01-21 19:58:20 · 2781 阅读 · 0 评论 -
Bullet之了解Force Torque Impulse
在了解Force Impulse Torque 之前,先来看看setLinearVelocity,setAngularVelocity一个是线速度,一个是角速度理解起来是很简单的设置body的线速度和角速度// 线速度const btVector3 & getLinearVelocity () constvoid setLinearVelocity (const btVecto原创 2015-01-14 00:01:05 · 2458 阅读 · 0 评论 -
Bullet(cocos2dx)学习制作桌球游戏之前期准备
使用cocos2dx结合bullet设计一款简陋的桌球游戏,就是为了回顾前期学过的bullet。首先要把桌球游戏需要的基本资源准备好,15个球,1个白球,1张台球桌,球杆可有可无。先看看目前实现的效果至于这张台球桌的模型,我是随便设计一下当然这个模型只是为了加载raw文件(静态网格数据),为了使模型的贴图显示出来,我使用Blender直接创建了一个P原创 2015-01-31 15:31:24 · 4917 阅读 · 3 评论 -
Bullet(Cocos2dx)之使用cocos2dx测试PhysicsWorld3D
1.使用Cocos引擎建立工程,打开cocos studio 修改分辨率为960*640,删掉背景图片发布到vs工程1.打开AppDelegate设置分辨率,并运行 director->getOpenGLView()->setDesignResolutionSize(960, 640, ResolutionPolicy::EXACT_FIT);2.配置Bullet(原创 2015-01-04 19:55:06 · 1718 阅读 · 0 评论 -
Bullet(Cocos2dx)之Hello World(vs2012)
Bullet3之Hello World(vs2012)参考http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch第一步、生成vs2010工程文件解压github下载的bullet3-master,进入目录build3,运行vs2010.bat会在当前目录生成vs2010原创 2014-12-20 20:21:37 · 2054 阅读 · 1 评论 -
Bullet(Cocos2dx)之优化PhysicsDraw3D
为了测试bullet物体的大小,匆匆写完的PhysicsDraw3D的效率低的要命,这也是为什么cocos2dx弃用了DrawPrimitives,而去使用DrawNodeDrawPrimitives每次绘制都去调用glDrawElements,假如每帧绘制10000条线段,那么就要调用10000次glDrawElements,可见效率之低。而DrawNode采取的是批处理的方式,当dra原创 2015-01-06 20:01:31 · 1611 阅读 · 0 评论 -
Bullet(Cocos2dx)之封装PhysicsWorld3D
Bullet3之封装PhysicsWorld3D根据bullet3 HelloWorld程序去封装一个PhysicsWorld3D,首先应该去创建一个物理世界,而对于一个物理世界,默认都有重力,提供一个创建世界的静态方法(重力默认为(0, -10, 0))static PhysicsWorld3D* create(const btVector3& gravity = btVecto原创 2015-01-04 13:17:10 · 1504 阅读 · 0 评论 -
Bullet(Cocos2dx)之增加调试绘制PhysicsDraw3D
由于刚开始学的时候不知道Bullet的单位1.0代表多大,所以制作出的模型的大小也无法判断。不用担心,Bullet提供了一个类btIDebugDraw,这个泪已经实现了很多绘制功能,我们要做的就是实现几个虚函数。我们继承btIDebugDraw,实现虚函数class PhysicsDraw3D : public btIDebugDraw{public: void drawLine原创 2015-01-06 15:50:35 · 1892 阅读 · 0 评论 -
Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x
首先将src文件夹复制到jni文件夹,没有可以新建一个新建两个文件Android.mk, Application.mkApplication.mk内容如下:APP_ABI := armeabi armeabi-v7a x86APP_PLATFORM := android-8APP_STL := stlport_static Android.mk 内容如下: LO原创 2014-12-30 20:17:52 · 2112 阅读 · 0 评论 -
Bullet(Cocos2dx)之内存泄露检测
编写的程序难免会有内存泄露,为了检测内存泄露,可以采取各种各样的措施,今天向大家介绍一款windows下的内存检测工具Visual Leak Detector for Visual C++去官网下载最新版本安装。用VS建立一个C++控制台项目,1.将vld安装目录下的include的头文件copy到c++目录下2.把lib/win32(如果vs版本为64的,则选择win64)c原创 2015-01-07 14:46:18 · 2070 阅读 · 0 评论 -
Bullet(Cocos2dx)之创建地形
Bullet提供了几个类btBvhTriangleMeshShape,btHeightfieldTerrainShape去创建一些网格图形,首先了解btHeightfieldTerrainShape,通过高度图数据创建一个3D地形。A static mesh that is optimised for and described by the surface of a height map.原创 2015-01-09 19:45:12 · 3067 阅读 · 1 评论