如何让Unity的刚体的旋转不旋转?

4被浏览1,108分享邀请回答0添加评论分享收藏感谢收起unity两个刚体怎么让一个碰撞不动_百度知道
unity两个刚体怎么让一个碰撞不动
我有更好的答案
,用OnCollisionEnter(Collision pendaowole){}这个函数可以检测到谁碰到你了,当然前提是碰撞的物体和被碰撞物体中有一个有rigidbody属性,并且都有collider属性
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。【图片】【新手求助】怎么让刚体物体在动态中互相碰撞?【unity吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:26,629贴子:
【新手求助】怎么让刚体物体在动态中互相碰撞?收藏
比如说我这里有两个物体,小球和锤子。都有collider和rigidbody。尝试的第一个方法,直接做animation让锤子动起来,结果锤子会穿过小球,rigidbody在这个情况下不管用。想了想应该还是要用代码写,fair enough. 但是我是小白新手不知道怎么写代码,学习了点皮毛自己写没毛用。后来查到了unity官网的一个Rigidbody.MoveRotation代码:using UnityE using System.Cpublic class ExampleClass : MonoBehaviour {
public Vector3 eulerAngleV
void Start() {
rb = GetComponent&Rigidbody&();
void FixedUpdate() {
Quaternion deltaRotation = Quaternion.Euler(eulerAngleVelocity * Time.deltaTime);
rb.MoveRotation(rb.rotation * deltaRotation);
} }这个是锤子的信息栏。Example Class就是这个代码,加入后调整X,Y,Z就可以旋转起来。其实我是想做锤子来回锤的动作,这个代码就直接是单项旋转的动作,我也没完全搞清楚XYZ怎么控制,不过只作为个测试,先不管他。锤子由锤头为中心转起来了...然后如图所示还是穿过了小球......连带rigidbody的代码都不管用?还是光这个代码还不够?请问有大神知道怎么解决我的问题吗?如果能是做来回锤的动态那就更好了,不过主要的问题是:怎么让有刚体的物体在动态中互相碰撞?
直接用变换的旋转就行transform.Rotate(Vector3.right * 60 * Time.deltaTime, Space.Self);旋转的方向 * 每秒旋转的角度 * 时间增量 , 自身坐标或世界坐标不过,如果主要控制的是锤子的话,这么个旋转法控制可能比较困难,也可以给小球直接施加一个力来模拟小球的碰撞,方向什么的,看锤子和球的方向自己改变下向量rigidbody.AddForce(Vector3.forward * 10);
你没有做碰撞体吧!
你这锤子的模型自带碰撞机? 如果没有自己圈两个
碰撞体只是用来监测碰撞的,要加刚体组件才能发生物理碰撞效果
boxcollider还是1/1/1的尺寸,调节一下碰撞器的尺寸,要覆盖整个模型,碰撞实际上就是collider之间的交互
登录百度帐号如何取消刚体之间的相互作用,不使用Is kinematic【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:84,200贴子:
如何取消刚体之间的相互作用,不使用Is kinematic收藏
取消刚体之间的相互作用,不使用Is kinematic因为我想保留他们的碰撞,但是不想受到由于挤压导致的反弹效果
edit -》 projectsetting -》 physics
关注完美世界小说吧,并捧场5000T豆,
登录百度帐号当前位置: >
让物体惯性的旋转
时间: 14:14 来源:Unity之家 作者:unity.jb51.net 浏览:
想实现的效果,给一个物体初速度,当物体被各种各样的力阻挡过后,我们的物体的旋转速度将越来越小,最后静止。惯性首先要得给物体添加rigidbody,我用rigidbody的方法AddTorque函数,不要用AddRelativeTorque,因为他是局部的;这两个函数用在FixedUpdate里面。先感受一下AddTorque函数的效果,你会发现力矩的方向和物体的旋转方向是呈右手定则,相互垂直,拇指表示力矩方向,四指表示旋转的方向。在手机上就两个方向旋转,分别是绕Y轴和X轴旋转,所以Z轴就是0。同样我们还是用到了Input.GetAxis(“Mouse X/Y”)函数,你会用他们的大小来表示要旋转的放向,同样根据右手定则求出力矩的方向,然后再给Rigidbody的Drag和Angular Drag,加一点阻力。[java]&view&plaincopyprint?&&&&
  var&h&:&&&&&
  var&v&:&&&&&
  var&Torque:Vector3;&&&&
  function&FixedUpdate&()&{&&&&
  rigidbody.AddTorque(Torque*1);&&&&
  }//Unity3D教程手册&&&&
  function&Update(){&&&&
  if(Input.GetTouch(0).phase==TouchPhase.Moved){&&&&
  h&=Input.GetAxis(“Mouse&X”);//有正左负&&&&
  v&=Input.GetAxis(“Mouse&Y”);//上正下负&&&&
  else{&&&&
  h=0;&&&&
  v=0;&&&&
  Torque=Vector3(v,-h,0);&&&&
  if(Input.GetKey(KeyCode.Escape)){&&&&
  Application.Quit();&&&&
(责任编辑:脚印)
免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
猜你也喜欢看这些 ??????
其他类型的Unity编程 ??????

我要回帖

更多关于 刚体旋转求矩阵 的文章

 

随机推荐