unity, multi collider

比如下面鸭子模型,只用一个box collider难以很好地吻合其的外形。

我们可以为它添加两个box collider,如下图所示:

注意:

1,colliders一定要添加在模型根节点(即图中dock节点上)。

2,如果想让模型是动态的,不要忘了添加Rigidbody。

另外,如果需要在脚本里对两个collider分别编程的话,若直接在脚本里get这两个collider,由于都是box collider,也没有特殊标识,所以区分不开。一个简单但不太完美的办法是在脚本中定义两个public变量,然后在inspector中把两个collider分别赋给它们。上面中的colliderDistinguish.cs如下:

using UnityEngine;
using System.Collections;
public class colliderDistinguish : MonoBehaviour {
    public Collider m_collider1;
    public Collider m_collider2;
    // Use this for initialization
    void Start () {
        Debug.Log ("collider1 center:"+m_collider1.bounds.size);
        Debug.Log ("collider2 center:"+m_collider2.bounds.size);
    }
}

输出结果:

时间: 2024-10-10 22:30:24

unity, multi collider的相关文章

unity, multi pass shader中的surface pass

今天尝试写一个multi pass shader,但其中有一个Pass是surface pass,总是莫名奇妙地报错.后来看到下面帖子: http://forum.unity3d.com/threads/achieving-a-multi-pass-effect-with-a-surface-shader.96393/ 此帖3楼中写道:“ You can add arbitrary passes while using a surface shader. You just stick every

unity, polygon collider 2D 添加顶点

正常情况下只要按下了Edit Collider按钮,鼠标停在polygon collider 2D的一条边上,就会出现一个虚拟的新顶点,此时如果按下鼠标,新顶点就创建出来了. 但是我今天遇到一个奇怪的情况就是鼠标放到polygon collider 2D的边上,并不出现虚拟新顶点,点击也不会创建新顶点.后来发现,原来是我的gameObject的Scale值太大了,是一千多,而其上添加的polygon collider 2D是常规尺寸,也就是说此polygon collider 2D在gameOb

碰撞检测之Ray-Capsule检测

Capsule的射线检测和Cylinder的类似,只是把上下两个面换成了两个半球,代码上稍作区别即可. Capsule类型定义 public class Capsule : NGeometry { public Vector3 p0; public Vector3 p1; public float radius; public Capsule(Vector3 _p0, Vector3 _p1, float _radius) : base(GeometryType.Capsule) { p0 =

[Unity Physics]Physics - Rigidbody、Collider

什么是Collider 碰撞器组件在Unity引擎中触发物理碰撞的最基本的条件. 可以这样说,假如一个游戏中没有物理碰撞系统是不可能的. 什么是Rigidbody 通过物理模拟的控制对象的位置. Rigidbody组件添加到一个对象将其运动的控制下统一的物理引擎.即使没有添加任何代码,Rigidbody对象将由重力向下拉,将反应与传入的对象如果正确的对撞机碰撞组件也存在. Rigidbody也有脚本API,允许您力量应用于对象和物理现实的方式控制它.例如,一辆汽车的行为可以指定在力量方面应用的轮

【UNITY3D 游戏开发之八】Unity编译到iPhone运行 Collider 无法正常触发事件解决方案

本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/unity3d-game/1618.html 点击订阅 本博客最新动态!及时将最新博文通知您! 最近几周基本两天通一宵,整个团队都在努力赶出一版技术删档测试包,也没时间来写点东西.正好今天有点时间来整理下. 这篇主要说下 Uniyt项目Build到iPhone运行后无法正常触发 Collider 这个问题. 一般我

unity collider rigidbody zz

http://blog.sina.com.cn/s/blog_5b6cb95001017vfr.html 其中最基本的关系: Collider是最基本的触发物理的条件,例如碰撞检测.基本上,没有Collider物理系统基本没有意义(除了重力). Rigidbody是物体的基本物理属性设置,当检测碰撞完之后,就要计算物理效果,而Rigidbody就是提供计算基本参数的玩意. PhysicMaterial则是附加的基本物理参数,是一个物理材质,UNITY3D有自带默认的物理材质的系数(在Edit/P

Unity -- Collider(碰撞器与触发器)

(2d与3d的Collider可以相互存在,但是无法相互协作,如2d是无法检测3d的,反之,一样) 在目前掌握的情况分析,在Unity中参与碰撞的物体分2大块:1.发起碰撞的物体.2.接收碰撞的物体. 1. 发起碰撞物体有:Rigodbody , CharacterController . 2. 接收碰撞物体由:所有的Collider . 工作的原理为:发生碰撞的物体中必须要有“发起碰撞”的物体.否则,碰撞不响应. 比如:墙用BoxCollider ,所以墙与墙之间无反应. 比如:一个带有Rig

Unity Collider和刚体Collider性能对比

测试方式: 每个对象做大范围正弦移动,创建1000-5000个对象,保证场景分割树的实时更新,并测试帧率 测试脚本: 移动脚本: using UnityEngine; using System.Collections; public class Test1 : MonoBehaviour { public Rigidbody rigidbodyObj; void Update() { switch (Random.Range(0, 3)) { case 0: transform.position

【蓝鸥Unity开发基础三】课时15 刚体和Collider

推荐视频讲师博客:http://11165165.blog.51cto.com/ 一.刚体 接着上节,继续来学习刚体,主要的内容就是施加力方面. 我们创建一个Plane地面,首先我们重置一下地面的属性,然后我们修改一下地面的大小,Scale X轴变成10,Scale Z轴变成10. 把Plane染成绿色,然后我们在创建一个Cube,重置一下,把Cube拉到空中,把Cube染成红色. 然后我们给Cube加一个刚体,然后我们在给Cube加一个脚本Test 1.给当前游戏对象施加一个力 效果:运行之后