• 动画碰撞


    一、赋予怪兽攻击技能

    怪兽:

    首先选中怪兽的双臂--->添加Sphere Collider和Rigidbody组件--->勾选Is Trigger选项使用触发器

    玩家:

    添加Capsule和Rigidbody组件--->选择Constrains勾选X和Z轴,保证玩家移动不会摔倒。

        //表示玩家生命值的变量
        public int hp = 100;
    
        void OnTriggerEnter(Collider coll)
        {
            //如果发生碰撞的Collider为怪兽的PUNCH,则减少玩家的HP
            if (coll.gameObject.tag == "PUNCH")
            {
                hp -= 10;
                Debug.Log("Player HP=" + hp.ToString());
    
                //玩家生命值小于10时进行死亡处理
                if (hp <= 0)
                {
                    PlayerDie();
                }
            }
        }
    
        void PlayerDie()
        {
            Debug.Log("Player Die!!");
        }

    二、特定层之间的碰撞感知

    我们之前存在这样一个问题:对于怪兽添加了碰撞体和刚体,而又对其子对象的手臂也添加的碰撞体和刚体,这样会产生物体内部发生碰撞。

    那么我们应该怎么解决?

    我们利用层的概念Layer,设置monster为Body层,而手臂为Punch层;值得注意的是,monster中不应用子对象。

    分层之后就避免了物体内的相互碰撞。

  • 相关阅读:
    微信商城中使用微信支付接口获取用户地址
    微信支付开发流程
    沉默多年,重新开博
    Extjs 表单验证后,几种错误信息展示方式
    自己对Extjs的Xtemplate的忽略
    js execCommand
    支付宝支付
    C# 将短时间格式变长正常时间格式
    SortedDictionary
    sql操作
  • 原文地址:https://www.cnblogs.com/Optimism/p/10896495.html
Copyright © 2020-2023  润新知