美文网首页
2020-04-30【MixAndJam】项目学习

2020-04-30【MixAndJam】项目学习

作者: 持刀的要迟到了 | 来源:发表于2020-05-05 17:20 被阅读0次

FFVII-TacticalMode

VFX实现的火花特效

Smash-CSS

Superhot-BulletTime

实现了子弹时间,以及肢体破碎效果。

  • 肢体破碎:
    1.破碎的肢体上挂载一个脚本,当子弹OnCollisionEnter时,取到打中的这个部件,让它隐藏掉(不是让它消失,因为后面会给它一个力让它产生爆炸效果),并根据预制体创建出相同的物体。
    2.获得这个创建出物体上所有Rigidbody,给它们添加爆炸的力
        foreach(Rigidbody r in rbs)
        {
            r.interpolation = RigidbodyInterpolation.Interpolate;
            r.AddExplosionForce(15, transform.position, 5);
        }

        rb.AddExplosionForce(15, transform.position, 5);
  • Ragdoll
    获得骨骼刚体,设置isKinematic = false即可。( r.interpolation = RigidbodyInterpolation.Interpolate;)

RDR-DeadEye

  • 右键瞄准屏幕变色(后处理方式 + DOTween.DOVirtual)
    右击事件,执行一次DOVirtual(from, to, time, Callback(float));
    变色:PostProcessProfile.GetSetting<ColorGrading>().colorFilter.value
  • 获得目标点在屏幕上的位置,实时更新图标
    Camera.main.WorldToScreenPoint(target.position);
  • 依次射击目标点(DOTween.Sequence,类似行为树节点)
    for (int i = 0; i < targets.Count; i++)
    {
        s.Append(transform.DOLookAt(targets[i].GetComponentInParent<EnemyScript>().transform.position, .05f).SetUpdate(true));
        s.AppendCallback(() => anim.SetTrigger("fire"));
        int x = i;
        s.AppendInterval(.05f);
        s.AppendCallback(()=>FirePolish());
        s.AppendCallback(() => targets[x].GetComponentInParent<EnemyScript>().Ragdoll(true, targets[x]));
        s.AppendCallback(() => crossList[x].GetComponent<Image>().color = Color.clear);
        s.AppendInterval(.35f);
    }
    s.AppendCallback(() => Aim(false));
    s.AppendCallback(() => DeadEye(false));
  • 给刚体加一个射击方向的力
    point.GetComponent<Rigidbody>().AddForce(shooter.transform.forward * 30, ForceMode.Impulse);

Pokemon-Capture

播片,宝可梦法球

Overwatch-Dragonstrike

龙柱特效

MonumentValley-LevelDesign

较为复杂,先跳过


MGR-BladeMode

用到了一个切割插件EasySlice,切割传递的参数是要切割的物体和切割用的plane面片

  • Physics.Overlap来模拟plane面片是否碰到物体

KingdomHearts-ShotLock

  • 通过CapsuleCollider的OnTriggerEnter检测新的东西
  • 螺旋炮弹的飞行方式:
    1.沿着自己的y轴向作转圈运动
        transform.eulerAngles += Vector3.forward * Time.deltaTime;
        transform.position += transform.up * Time.deltaTime;
    
    2.朝向目标旋转飞行
    炮弹的构成是一共三层:最外层作为碰撞的本体,朝着目标直直飞过去;第二层控制本地旋转,来旋转拖尾;第三层则将localPosition的Y值调出去,这样就可以朝着目标旋转飞行了。
          var targetRotation = Quaternion.LookRotation(target.transform.position - transform.position);
          transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, .5f);
          //transform.LookAt(target.position);
          transform.position += transform.forward * Time.deltaTime * (movementSpeed * multiplier);
          transform.GetChild(0).eulerAngles += Vector3.forward * Time.deltaTime * rotationSpeed * 1.5f;
    
    transform.GetChild(0).GetChild(0).DOLocalMoveY(5, 1f);

GodofWar-AxeThrow

  • Throw
    1.自身旋转:transform.localEulerAngles += V3.forward * rotattionSpeed * Time.deltaTime;

  • Pullback
    1.二阶贝塞尔曲线(见之前文章)
    2.Cinemachine Shake:CinemachineImpulseSource.GenerateImpulse(Vector3.right);

相关文章

  • 2020-04-30【MixAndJam】项目学习

    FFVII-TacticalMode VFX实现的火花特效 Smash-CSS Superhot-BulletTi...

  • unity 战神4奎爷的回旋战斧

    一:原作地址 二:项目源码https://github.com/mixandjam/GodofWar-AxeThr...

  • 2020-05-01

    2020-04-30 2020-04-38 2020-04-30 成长日志第315天 家名:温暖有爱之家 家规:真...

  • 怎样才能恢复自己的灵性能力

    灵犀_1531 已关注 2.301 · 字数 818 · 阅读 1723 2020-04-30 18:57 4月2...

  • 学习2020-04-30

    在一个环境中,有时候真的很难做到独善其身,也有身不由己的时刻。 但今天却受教了,三不原则,不主动,不拒绝,坚守底线...

  • 读物-霍乱时期的爱情

    作者:加西亚·马尔克斯 阅读时长:2020-04-30 至 ~ 一:打卡记录: 2020-04-29 激动,早就听...

  • Mixin 月报 — — 第 14 期

    2020-04-01 ~ 2020-04-30 Mixin 主网 全网总共有 1,315 种资产 主网高度 19,...

  • iOS 快速打包.ipa

    新建“Payload”文件夹,注意名字要一字不差;截屏2020-04-30 下午2.30.31.png 将工程中的...

  • 『楼下女友请签收』

    2020-04-15 星期三 ~ 2020-04-30 星期四 时间总是转圈圈,过得如此之快,两周多—— Nina...

  • 让家住我家NO.165

    2020-04-30 星期四 晴 让爱住我家NO.165 做智慧的父母,从点滴开始。 女人决定了一个家庭温度...

网友评论

      本文标题:2020-04-30【MixAndJam】项目学习

      本文链接:https://www.haomeiwen.com/subject/qmhtghtx.html