如何从游戏对象创建不同的可点击部分

时间:2014-03-26 20:01:29

标签: c# unity3d raycasting

我想创建一个可以通过2种不同方式点击的游戏对象。 enter image description here

这张照片只是一个例子,但这就是我想要的。有两个不同的可点击"生命点"它们有不同的功能。第一个(黑色的)应该在x坐标和y坐标上移动游戏对象。黄色部分应该改变游戏对象的角度。我已经用raycast尝试了一些东西,但我没有得到它。有人有一个很好的例子吗?会很好......

电贺 桑德

1 个答案:

答案 0 :(得分:0)

您可以在同一个游戏对象中拥有多个碰撞器,并更改其“中心”和“大小”属性以正确定位它们。我认为这是最简单的方法。

比你使用像这个例子的钩子OnCollisionEnter(Collision collision)

public class CollisionHandler : MonoBehaviour {

    private IDictionary<Collider, string> colliders;
    void Start () {
        int i = 0;
        colliders = new Dictionary<Collider, string>();

        foreach (var collider in GetComponents<Collider>())
            colliders.Add(collider, "collider_" + i++);
    }

    void OnCollisionEnter(Collision collision)
    {
        Debug.Log(colliders[collision.contacts[0].thisCollider]);
    }
}

我类似的方法是将2个空游戏对象作为游戏对象的子对象;它们每个只有一个对撞机,还有一个处理碰撞的脚本。