zoukankan      html  css  js  c++  java
  • 【v2.x OGE教程 20】粒子效果

    1.介绍

    粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术。而这些现象用其他传统的渲染技术难以实现的真实感的 game physics。常常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发轨迹这种抽象视觉效果等等。

    2.粒子系统结构

    OGE引擎的粒子系统中由粒子、粒子发射器、粒子初始化器、粒子改动器来表现粒子效果。

    粒子系统:是Entity的子类,管理粒子发射器,发射比率,粒子孵化。管理粒子改动器等的一个系统

    粒子发射器:继承IUpdateHandler,在固定范围随机生成发射坐标

    粒子初始化器:初始化Entity部分參数。如:alpha

    粒子改动器:粒子初始化器子类,相同改动Entity部分參数,可是会在粒子系统的onManagedUpdate中进行更新,类似于Entity中注冊Modifier的效果

    粒子:对一个Entity进行封装,包括一些粒子的属性

    3.实例代码:

    public void setMyParticle(float pX, float pY, TextureRegion region, Scene pScene) {

    PointParticleEmitter particleEmitter = new PointParticleEmitter(pX, pY);

    SpriteParticleSystem mParticleSystem = new SpriteParticleSystem(particleEmitter, 10, 10, 30, region, pScene.getVertexBufferObjectManager());

    mParticleSystem.addParticleInitializer(new VelocityParticleInitializer<Sprite>(-150, 150, -380, 0));

    mParticleSystem.addParticleInitializer(new ExpireParticleInitializer<Sprite>(5f, 6f));

    mParticleSystem.addParticleModifier(new ScaleParticleModifier<Sprite>(0f, 5f, 0, 1.3f));

    mParticleSystem.addParticleModifier(new AlphaParticleModifier<Sprite>(0.8f, 1, 0.2f, 1f));

    pScene.attachChild(mParticleSystem);

    }

  • 相关阅读:
    trim标签:可以自定义字符串的截取规则
    登录框(用获取value值方法)
    C++在ARM Linux下的交叉编译
    happybase导入报错:thriftpy.parser.exc.ThriftParserError: ThriftPy does not support generating module with path in protocol 'c'
    Nginx报错总结
    ubuntu安装Nginx
    mqtt在debian strench 9 docker环境下的搭建
    evokly/kafka-connect-mqtt 不支持kafka集群部署
    树莓派mqtt安装
    kafka和mqtt的区别和联系
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5306561.html
Copyright © 2011-2022 走看看