当前位置:   article > 正文

unity使用棍子打断铁链。使用Obi Rope_obi rope 6.4

obi rope 6.4

这里使用的是Obi Rope 6.4
使用Chains默认的Demo场景

  • 在Obi Solver挂载以下脚本。
  • 将脚本的rope变量设置为Obi Solver的子物体Obi Chain。
  • 铁链撞击到任意Targets,铁链即可查看到效果。

如果播放后,Target物体掉落可将其重力关闭,锁住坐标与旋转变换。
脚本文件取自:

http://obi.virtualmethodstudio.com/manual/6.3/scriptingcollisions.html

http://obi.virtualmethodstudio.com/manual/6.3/scriptingropes.html

using UnityEngine;
using Obi;

[RequireComponent(typeof(ObiSolver))]
public class CollisionEventHandler : MonoBehaviour
{

    ObiSolver solver;
    public ObiRope rope;
    private bool isTear = true;

    void Awake()
    {
        solver = GetComponent<ObiSolver>();
    }

    void OnEnable()
    {
        solver.OnCollision += Solver_OnCollision;
    }

    void OnDisable()
    {
        solver.OnCollision -= Solver_OnCollision;
    }

    void Solver_OnCollision(object sender, Obi.ObiSolver.ObiCollisionEventArgs e)
    {
        var world = ObiColliderWorld.GetInstance();

        // just iterate over all contacts in the current frame:
        foreach (Oni.Contact contact in e.contacts)
        {
            // if this one is an actual collision:
            if (contact.distance < 0.01)
            {
                ObiColliderBase col = world.colliderHandles[contact.bodyB].owner;
                if (col != null)
                {
                    // do something with the collider.
                    // print(col.gameObject.name);
                    int particleIndex = solver.simplices[contact.bodyA];
                    print(particleIndex);
                    if(isTear)
                    {
                        isTear = false;  
                        rope.Tear(rope.elements[particleIndex]);
                        rope.RebuildConstraintsFromElements();
                    }
                }
            }
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/127941
推荐阅读
相关标签
  

闽ICP备14008679号