[C#]请问如何消除unity3d中ConfigurableJoint关节的停转后的摆动(惯性引起的)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C#]请问如何消除unity3d中ConfigurableJoint关节的停转后的摆动(惯性引起的)?相关的知识,希望对你有一定的参考价值。

下面是创建了一个自定义关节,现在的问题是,当关节上连接一个质量较大的物体时,控制关节转动结束后,关节会因为惯性在那里摆动一会,请问有办法消除这个摆动,或者让这个摆动幅度小一点吗?

this.joint = this.shtok.gameObject.AddComponent<ConfigurableJoint>();
this.joint.connectedBody = this.root_body;
this.joint.anchor = Vector3.zero;
this.joint.axis = this.axies;
this.joint.enableCollision = true;
'
this.drive.positionSpring = float.PositiveInfinity;
this.drive.positionDamper = float.PositiveInfinity;
this.drive.maximumForce = float.PositiveInfinity;
this.joint.angularXDrive = this.drive;
'
this.spring.spring = float.PositiveInfinity;
this.spring.damper = float.PositiveInfinity;
this.joint.angularXLimitSpring = this.spring;
this.joint.angularYZLimitSpring = this.spring;
'
this.joint.angularXMotion = ConfigurableJointMotion.Free; //X轴自由转动

基本的话你要了解C#中的基础语法,声明,变量使用,判断等。
然后你要搞清楚面向对象的程序开发。
接下来是C#的高级内容,事件,委托等。

其实如果你只是简单的流程脚本牵涉的应该不会太深,但是如果想利用C#来搭建完整的游戏那就要学到底了。追问

我只是想尝试解决这个游戏问题,并没有打算深入学习c#,网上能找到的ConfigurableJoint资料太少了,大部分都语焉不详
还有麻烦不要复制别人的答案过来回答!!!!

参考技术A 把刚体的非物理运动变成true

请问如何把lib(C语言编的)同其带有宏定义的.h文件封装起来 生成一个新的文件供C#调用?

注:有连个.h和我所要调用的lib有关,一个是带有宏定义的.h文件,另一个是导出函数声明的.h文件。我想在c#中调用该lib库文件,请问该如何处理啊?
请高手多多指点!不胜感激!
因为C#不支持头文件,能否把Lib 和.h封装为一个Dll 供C#调用?怎么办?
(.h头文件包含宏定义和匿名枚举)

lib?静态连接库?

据我所知,C#是不能够调用lib库的,语言框架上就不支持。

一般C#使用C/C++的类时都是将其封装到dll动态连接库中,然后再使用
参考技术A 当函数调用完成后,栈需要清除, 如果我们的函数使用了_cdecl,那么栈的清除工作是由调用者(客户端)完成的。

*******************************************

hy406,您好!

是这样的,类似的关键字还有_stdcall,如果用了_stdcall而不是_cdecl,那么清理工作由函数自己完成。

_cdecl一般用于参数数量不确定的函数,因为这样的函数在调用之前不知道参数的长度,所以函数自身无法完成清理工作,例如printf()函数、scanf()函数等。
参考技术B 楼主看看书,仔细看看编译预处理都做了哪些事情。
程序设计语言的预处理的概念:在编译之前进行的处理。
c语言的预处理主要有三个方面的内容:
1.宏定义;
2.文件包含;
3.条件编译。
预处理命令以符号“#”开头。
宏定义又称为宏代换、宏替换,简称“宏”。预处理制作单纯的宏展开,并不是检查语法错误,所说义是错误的。
语法错误都是编译阶段才检查的。预处理是不检查的。

以上是关于[C#]请问如何消除unity3d中ConfigurableJoint关节的停转后的摆动(惯性引起的)?的主要内容,如果未能解决你的问题,请参考以下文章

unity3d中c#如何修改物体局部的颜色

你好,请问在UNITY3D中如何实现用鼠标左键拖拽控制一个组合物体的旋转啊?

在unity3d 接入Android的时候出现如下问题.请问如何解决

请问Unity3D如何实现两个相机高频的切换?

如何在 Unity3D 项目中启用 c# 7 功能

请问如何在3dmax中设计人物动作的名称,如run,walk,我想在unity3d中调用。