PhysX
【PhysX】
1、施加力:
if(GUILayout.Button("普通力",GUILayout.Height()))
{
//施加一个力,X轴方向力度为1000,Y轴方向力度为1000
addFrceObj.rigidbody.AddForce (, , );
}
if(GUILayout.Button("位置力",GUILayout.Height()))
{
//施加一个位置力,物体将会朝向这个位置发力移动,力的模式为冲击力。
Vector3 force = cubeObj.transform.position - addPosObj.transform.position;
addPosObj.rigidbody.AddForceAtPosition(force,addPosObj.transform.position,ForceMode.Impulse);
}
2、刚体的碰撞回调:

3、What is Kinematic Rigidbodies?
A Kinematic Rigidbody is a Rigidbody that has the isKinematic option enabled. Kinematic Rigidbodies are not affected by forces, gravity or collisions. They are driven explicitly by setting the position and rotation of the Transform or animating them, yet they can interact with other non-Kinematic Rigidbodies.
Kinematic Rigidbodies correctly wake up other Rigidbodies when they collide with them, and they apply friction to Rigidbodies placed on top of them.
4、What is Static Collider?
A Static Collider is a GameObject that has a Collider but not a Rigidbody. Static Colliders are used for level geometry which always stays at the same place and never moves around. You can add a Mesh Collider to your already existing graphical meshes (even better use the Import Settings Generate Colliders check box), or you can use one of the other Collider types.
5、The Physics Material is used to adjust friction and bouncing effects of colliding objects.

6、Character Controller
The Character Controller is mainly used for third-person or first-person player control that does not make use of Rigidbody physics.
Character Controller组件用于帮助控制没有RigidBody的组件。
7、Character Controller和RigidBody互斥,同一GameObject只能应用其一。
8、SmoothFollow.js是内置Camera脚本组件,可以让某个Camera紧跟某个对象,实现第三人称Camera。

9、使用Ray检测碰撞
//??????0??????
Ray ray = new Ray(Vector3.zero, transform.position);
//?????????
RaycastHit hit;
Physics.Raycast(ray, out hit, );
//?????????????????????????
Debug.DrawLine(ray.origin, hit.point);
10、关节必须依赖于刚体组件。
11、Triger与Collision分布图:

12、动态添加关节组件:
if(GUILayout.Button("添加链条关节"))
{
ResetJoint();
jointComponent = gameObject.AddComponent("HingeJoint");
HingeJoint hjoint = (HingeJoint)jointComponent;
connectedObj.rigidbody.useGravity = true;
hjoint.connectedBody = connectedObj.rigidbody;
}
if(GUILayout.Button("添加固定关节"))
{
ResetJoint();
jointComponent =gameObject.AddComponent("FixedJoint");
FixedJoint fjoint = (FixedJoint)jointComponent;
connectedObj.rigidbody.useGravity = true;
fjoint.connectedBody = connectedObj.rigidbody;
}
PhysX的更多相关文章
- 关于缺少nvToolsExt64_1.lib时的PhysX的处理
我本人之所以缺少这个文件是因为我的PhysX如果你的PhysX是从UE4源代码中提取的,那么可能会出现如下错误,提示找不到nvToolsExt64_1.lib(本机是64bit的操作系统) 那就执行u ...
- 物理引擎-Physx的源代码去哪里找
前几天无意中看到了Physx开源了,就连自己的领导也高兴了一下,让本道士去下载源代码琢磨一下,顺便做几个例子跑起来.结果没成想这个nvidia的github上的源代码被移除了,而且csdn,pudn上 ...
- Physx入门
[疑问] 1.Physx中的场景有大小的概念么?如果有大小,那么场景中的刚体超出场景边界之后, 如何定义之后的行为. 2.如何给一个刚体增加动量?目前的接口只看到设置速度或者增加作用力.
- Mesh.Bake Scaled Mesh PhysX CollisionData的性能问题
最近在做项目优化时,遇到Mesh.Bake Scaled Mesh PhysX CollisionData这个问题,随手记录一下. profiler中显示的cpu波峰瓶颈中,Mesh.Bake Sca ...
- PhysX Clothing for UE4
转自:http://www.52vr.com/article-737-1.html Hello! 之前看到论坛里有人发了个关于UE4布料的小知识,于是跟帖说抽空写个布料的工作流程供大家参考,那么,今天 ...
- [原][译][physX]phsyX3.3.4官方文档物理引擎基本概念和例子介绍
世界和物体: 物理世界包括集合的场景,每个包含的物体称为演员(Actors) 每个场景(Scene)都定义了自己的参考框架包含了所有的时间和空间 在不同的场景,演员不互相影响 演员通常有三种类型:刚体 ...
- 我所遭遇过的游戏中间件--PhysX
我所遭遇过的游戏中间件--PhysX PhysX现在是Nvidia的物理中间件.其特点是简练且功能强大.当我最初拿到PHYSX的SDK时,就发现这个物理中间件比Havok要小很多,但该有的功能都有,甚 ...
- PhysX SDK src
PhysX SDK src Physx3.3 source code http://download.csdn.net/download/qq122252656/9427387 Nvidia CUDA ...
- PhysX SDK
PhysX SDK https://developer.nvidia.com/physx-sdk NVIDIA PhysX SDK Downloads http://www.nvidia.cn/obj ...
随机推荐
- Android开发之PopupWindow
/* * Android开发之PopupWindow * * Created on: 2011-8-8 * Author: blueeagle * Email: liujiaxiang@g ...
- Centos 6.5LAMP服务器(Apache+PHP+MySQL)的搭建
1.首先看下你的防火墙是否处于开启状态,如果是开启状态,按照如下方法来配置你的防火墙(如果你在安装虚拟机时就没有开启过防火墙,那么这一步就省略了): 1.配置防火墙,开启80端口.3306端口 vi ...
- 51nod1495 中国好区间
双指针扫一遍 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm&g ...
- tomcat启动出错(转)
刚刚装载好的myeclipse 在添加项目到服务器的时候,突然异常涌现. 其实这是一个新手常见的错误.平常配置JDK环境的时候有些人习惯把JDK安装到磁盘的当前文件夹里,这样十分的方便,但是安装时,你 ...
- 学习opengl(起步)
库可以在这里下载 第一个程序: #ifndef GLUT_DISABLE_ATEXIT_HACK #define GLUT_DISABLE_ATEXIT_HACK #endif #include &l ...
- Shell教程2-变量
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: 复制纯文本新窗口 variableName="value" 注意,变量名和等号之间不能有空格, ...
- 从IT方法论来谈RUP
在<从IT方法论来谈Scrum>中我谈到了6Ways方法框架,本篇仍用6Ways方法框架来概括的谈谈RUP方法. 软件开发过程描述了软件构造.部署和维护的一种方法.统一过程(Unified ...
- JDK 1.6 下载 地址
JDK1.6官方下载_JDK6官方下载地址: http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin ...
- vmware 连网
Nat 这 种方式下,虚拟机的网卡连接到宿主的 VMnet8 上.此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实 ...
- ylb:多表的连接与练习(第三方关联表的应用)
ylbtech-SQL Server:SQL Server-多表的连接与练习(第三方关联表的应用) SQL Server 多表的连接与练习(第三方关联表的应用). 1,多表的连接与练习(第三方关联表的 ...