网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月25日漏签0天
unity吧 关注:52,010贴子:145,388
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 6回复贴,共1页
<<返回unity吧
>0< 加载中...

【新手求助】怎么让刚体物体在动态中互相碰撞?

  • 只看楼主
  • 收藏

  • 回复
  • 四夜兮草
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
比如说我这里有两个物体,小球和锤子。都有collider和rigidbody。

尝试的第一个方法,直接做animation让锤子动起来,结果锤子会穿过小球,rigidbody在这个情况下不管用。
想了想应该还是要用代码写,fair enough. 但是我是小白新手不知道怎么写代码,学习了点皮毛自己写没毛用。后来查到了unity官网的一个Rigidbody.MoveRotation代码:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Vector3 eulerAngleVelocity;
public Rigidbody rb;
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的代码都不管用?还是光这个代码还不够?请问有大神知道怎么解决我的问题吗?如果能是做来回锤的动态那就更好了,不过主要的问题是:怎么让有刚体的物体在动态中互相碰撞?


  • 大辽囤囤鼠
  • 富有美誉
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
直接用变换的旋转就行
transform.Rotate(Vector3.right * 60 * Time.deltaTime, Space.Self);
旋转的方向 * 每秒旋转的角度 * 时间增量 , 自身坐标或世界坐标
不过,如果主要控制的是锤子的话,这么个旋转法控制可能比较困难,也可以给小球直接施加一个力来模拟小球的碰撞,方向什么的,看锤子和球的方向自己改变下向量
rigidbody.AddForce(Vector3.forward * 10);


2025-11-25 08:47:25
广告
不感兴趣
开通SVIP免广告
  • 娈碘槺姹熲槺鏋
  • 小有美名
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你没有做碰撞体吧!


  • 酒卧满楼
  • 颇具盛名
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你这锤子的模型自带碰撞机? 如果没有自己圈两个


  • 死心了的奥利奥
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
碰撞体只是用来监测碰撞的,要加刚体组件才能发生物理碰撞效果


  • 青牛
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
boxcollider还是1/1/1的尺寸,调节一下碰撞器的尺寸,要覆盖整个模型,碰撞实际上就是collider之间的交互


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回unity吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示