![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
physx
编程小耗子
本人比较喜欢高性能服务器开发。
在校曾获奖:
中国大学生计算机设计大赛国赛三等奖;
龙鼎杯河北二等奖;
蓝桥杯省赛三等奖;
CCPC河北省赛三等奖;
展开
-
在physx中创建射线ray,并获取碰撞点
在physx中创建射线ray,并获取碰撞点通过raycastSingle函数去获取发射的射线是否会碰到物体,不需要特殊处理的可以不使用回调。不用回调的版本// origin是起点, unitDir是方向int RayCaseSingle(PxVec3 &origin, PxVec3 &unitDir){ PxRaycastHit hitInfo; // 返回的点,法向量信息等都在这里 PxReal maxDist = FLT_MAX; // 最大射线距离 //PxHitFla原创 2021-05-28 19:21:37 · 580 阅读 · 2 评论 -
physx中ray不碰撞某些物体的方法
设置过滤类型const PxFilterData collisionGroupIgnore(0, 0, 0, 1); // 碰撞会被忽略的组const PxFilterData collisionGroup(1, 0, 0, 0); // 需要碰撞的组给shape设置类型void setShapeFilterData(PxRigidActor * actor, PxFilterData &data){ PxShape* shapes = NULL; actor->getSh原创 2021-05-28 19:19:22 · 394 阅读 · 0 评论 -
判断位置是否会发生碰撞
核心函数整理physx的函数解释在下面。// 从actor中获取第一个shapePxShape * getShapeByActor(PxRigidActor *actor){ if (!actor) return NULL; const PxU32 numShapes = actor->getNbShapes(); if (numShapes <= 0) { cout << "test Shape num is <= 0" << endl原创 2021-05-28 19:17:32 · 488 阅读 · 0 评论 -
在physx中创建射线raycase,并获取碰撞点
给物体创建射线ray通过raycastSingle函数去获取发射的射线是否会碰到物体,不需要特殊处理的可以不使用回调。不用回调的版本// origin是起点, unitDir是方向int RayCaseSingle(PxVec3 &origin, PxVec3 &unitDir){ PxRaycastHit hitInfo; // 返回的点,法向量信息等都在这里 PxReal maxDist = FLT_MAX; // 最大射线距离 //PxHitFlag::eMESH_AN原创 2021-05-25 18:10:21 · 480 阅读 · 1 评论 -
physx中加载obj创建mesh的方法
如何加载三角片面的obj文件到physx中obj中的会在physx中的重要内容介绍在obj文件中,physx加载PxTriangleMeshDesc最终要的两个数据,一个是顶点信息,一个是三角片面的三个顶点索引。相对的obj中,这个顶点信息在obj文件中是每行v开头的后面的数据,分别代表 x,y,z。例如v 3.419436 0.06810839 -1.137559 ,x= 3.419436, y=0.06810839 , z= -1.137559面的信息是f打头的数据,数据如下:f 1598原创 2021-05-24 18:31:29 · 786 阅读 · 3 评论 -
physx中判断actor是否会发生碰撞
一、物理碰撞模拟方法通过模拟一个真实的碰撞,但是不体现碰撞的特性,通过回调的方式来获取到对应的actor的指针来判断是否碰撞,但是要忽略掉当前的碰撞。设置分类const PxFilterData collisionGroupIgnore(0, 0, 0, 1); // 分类自己怎么定义都可以设置形状shape中的分类,方便在filtershape函数中做过滤PxRigidDynamic* createIgnoreDynamic(const PxTransform& t, cons原创 2021-05-24 17:50:40 · 647 阅读 · 0 评论