zoukankan      html  css  js  c++  java
  • TimeLine一些思考

    TimeLine一些思考

    2021年7月12日

    1、概念

    https://blog.csdn.net/u011397120/article/details/79272551

    https://www.shangmayuan.com/a/945b9017934b461ab8bce901.html

     

     

     

    1.1.基于时间轴的顺序播放系统

    1.2.FEvent实际执行一个Action

    1.3.针对一个场景对象实体(TimeLine级),在时间段内,需要播放N种类型的Action(Track级),不同时间同一event传参不同(event)

    1.4.一个skill实际上是多个对象实体(TimeLine)的组合(Container级)

    下图实质上是我们项目一个Timeline的行为,而不是一个skill

     

     

    2、和具体项目结合

    2.1项目逻辑为 Init+FixedUpdate。TimeLine则可以把 FSequence 嵌入项目FixedUpdate然后循环下发最后给event update.

    2.2 例如FluxSkill.cs :

    ->FluxSkill fixedUpdate

    NinjaSkillManager fixedUpdate ->FluxBullet fixedUpdate

     

    1. ninjaSkill和ninjaBullet流程和之前没有区别,都是在SkillManager进行FixedUpdate

    2. (2)FLuxSkill内有 FSequence数据, FSequence数据负责Skill TimeLine下发到event

    (3)skill shoot bullet后,bullet有BulletRunTime,新的FSequence下发event。

    因为,我们的skill和bullet是相对独立的个体,需要独立的FSequence。 bullet的初始数据clone自skill。

    (4) 我们在制作的时候 skill bullet 的TimeLine在一个UI里只是为了编辑方便。

    2.3.交互 :skill和bullet相互通信。(1)直接变量引用 (2)信号 (3)BlackBoard  

     

    缺:通过event之间的交互

    有owner了  但是每个bullet没有UID

    每个Bullet根据State状态去一一对应TimeLine 感觉更好。 

     

     

     

     

     

     

     

    改变自己
  • 相关阅读:
    ES6 import、export的写法
    不带分号可能会引起出错的情况
    npm传参技巧
    深度优先遍历和广度优先遍历
    WebGL的shader
    web component
    页面的beforeunload和unload的事件应用
    暴搜
    子集树与排列树
    概率论
  • 原文地址:https://www.cnblogs.com/sun-shadow/p/15003913.html
Copyright © 2011-2022 走看看