Unity3D----导入模型的碰撞检测

   很多人在初学Unity3D的时候,可能会碰到这样一个问题:导入Unity3D的模型,给模型添加RigidBody后,模型会

一直往下落。

 

   那么,我们如何解决这个问题呢? 

   如果你尝试过创建一个Cube之类的,添加RigidBody。运行程序后,你会很明显的发现这个Cube可以掉落到地面。

 

   因而,想要我们的模型也这样,可以将一个Cube与模型进行绑定,然后调整Cube的碰撞体积,并去掉Cube的渲

染。这样我们就可以让模型享有Cube的碰撞检测,而又不会看到Cube。

 

  1.导入资源:Assets--Import Package--Terrain Assets,导入系统的地形贴图等资源。

  2.添加模型:在Assets下建立一个Model文件夹,将自己的3D模型放入Model中。

 

  

 

  3.建立地形:Terrain--Create Terrain。建立一个地形,在地形编辑部分点击Paint the

 terrain texture图标,选择一个Texture,并调整Tile Size X, Tile Size Y。

  如下图所示:

  

  

 

  4.将模型拖到Unity3D场景编辑中,并调整位置。随便添加个方向光,看起来会比较顺眼。这个时候,如果你给模型

添加RigidBody,虽然它会有重力,但不会与Terrain进行碰撞。

 


  

 

  5.创建碰撞体:GameObject--Create Other--Cube。将Cube放到模型的中心位置(其他位置也可以),你可以看到Cube

有个Box Collider对象。调整Box Collider的Center和Size,也就是碰撞范围(绿色的矩形),让碰撞范围符合整个模

型。建议分别通过X,Y,Z轴朝向进行调整。如图所示。

 



  

  6.在Hierarchy视图上,将模型(我这里是Tank)拖到Cube上。然后点Cube,Component--Physics--RigidBody给Cube

添加一个刚体。然后在Cube的属性中,将Mesh Renderer勾去掉,也就是不进行渲染Cube。

 

  

 

  7.运行程序,你会发现模型安稳的落在了Terrain上了。

  

 

  虽然这个例子很简单,但是大家也都基本了解了模型的碰撞思路(利用Cube,Sphere等GameObject来进行碰撞,效

率上比较高)。

  学习到这里,稍微思考一下的童鞋应该会想到,如果是一个形状怪异的模型怎么办?

  

  当然,你也可以将它作为Cube或Sphere等形状进行碰撞,但可能精确程度会很差。就例如上面例子里的坦克,最上

面的炮头左边是空的。

  这样我们可以创建多个Cube进行组合,来增加碰撞的精确度。大家可以自己下去试

试。

 

  转载请注明出处:http://blog.csdn.net/ml3947

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当在Unity导入模型时,有一些注意点需要注意: 1. 模型格式:Unity支持多种模型文件格式,如FBX、OBJ等。确保选择一个兼容的格式,并且导入前检查模型是否符合规范,没有损坏或缺失的部分。 2. 材质和纹理:模型的外观通常是由材质和纹理决定的。在导入模型之前,确保材质和纹理文件与模型关联,并且路径正确。如果材质和纹理丢失或路径错误,模型可能无法正确显示。 3. 缩放和旋转:Unity使用米作为默认单位,而许多3D建模软件使用不同的单位。在导入模型之前,确保正确设置了模型的缩放和旋转,以确保其在Unity中正确显示和与其他对象交互。 4. 顶点和多边形数量:大量的顶点和多边形数量可能会影响游戏性能。如果模型过于复杂,可以考虑进行优化,如简化多边形数量、合并顶点等。 5. 动画和骨骼:如果模型包含动画或骨骼,确保在导入时启用了相关选项,并且设置了正确的动画控制器和骨骼绑定。 6. 碰撞体:为模型添加适当的碰撞体组件,以便在游戏中实现物理交互或碰撞检测。 7. 导入设置:Unity提供了一些导入设置选项,如导入比例、法线翻转等。根据模型的需求,选择适当的导入设置以获得最佳效果。 总之,在导入模型之前,确保模型文件完整且正确,与其相关的材质和纹理文件路径正确,并根据需要进行适当的优化和设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值