谁说程序员不懂浪漫?作为一名程序员,使用你自己的代码技能来创造技术惊喜。在我看来,这不亚于慢节奏时代手写书信的经典浪漫。那么,如何打造具有自我认同属性的浪漫惊喜呢?玩法有很多种,今天就给大家介绍一个实用的技控浪漫法——烟花粒子动画,在虚拟空间中为对方营造一片烟花满天,平行时空的浪漫,挺酷的。除了浪漫之外,烟花粒子的动画效果还有很多实际的应用场景,比如在游戏应用中,玩家获胜后的页面呈现,春节等特定节日的游戏内氛围营造等.让我们看一个例子:从粒子动画到更精彩的烟花。粒子动画是搭载HMSCore3DEngine实现的视觉效果。借助3DEngine,还可以开启虚拟视觉的更多精彩可能。3DEngine为开发者提供高性能、高画质、高扩展性的实时3D引擎,以及便捷高效的可视化开发工具,帮助开发者打造高质量的3D应用。如果你是游戏开发或者对游戏开发感兴趣,那你可以用3DEngine来玩多浪漫。1、高清渲染和视觉效果,高度还原逼真的光影效果;2、多线程PBR渲染,实现高性能实时3D渲染效果;3、CPU/GPU粒子渲染,模拟爆炸、火焰、雨雪等视觉效果;4.3D角色、流畅动画轻松制作,支持实时骨骼动画、表情动画、全身IK、动画重定向、多种动画状态机融合;5、提供导航网格自动生成、多目标路径规划、NPC智能寻路和智能避障功能;6.3DStudio提供便捷的开发工具,支持场景编辑、材质编辑、动画编辑、地形编辑、脚本编辑等核心功能。实用指南—使用3D引擎实现粒子动画烟花效果创建关卡1.需要新建一个关卡:在引擎首页的菜单栏中,选择“文件>新建关卡”。2、输入关卡名称后,如“烟花”,点击“确定”创建成功。完成后会进入玄天引擎的关卡界面。环境搭建1、在场景中出现烟花效果之前,我们需要适当调整一下关卡中的环境。首先,删除我们不需要的实体:在引擎首页的“EntityOutline”窗口中找到默认环境下的shaderball和groundmesh实体,鼠标右键删除。2、我们需要模拟较暗的环境:在“EntityOutline”窗口的默认环境组中选择天空,在引擎主页右侧的“组件属性”窗口中找到高动态范围天空盒组件,并将曝光属性调整为-3.2.3。在“EntityOutline”窗口的默认环境组中选择太阳,在引擎主页右侧的“ComponentProperties”窗口中找到定向光源组件,右键点击该组件,点击“DisableComponent”.4.在“实体大纲”窗口中,右击并选择“创建实体”。5、在“EntityOutline”窗口中选中新建的实体,在组件属性中重命名为“Bloom”,并添加一个“Halo”组件和一个“Post-processingBox”组件,增强烟花的光效粒子。6.如下图设置halo组件的参数。完成以上步骤后,您将得到如下效果素材编辑1、接下来,我们需要为烟花粒子制作一些光效素材。首先在引擎首页的全局菜单栏中点击“工具>材质编辑器”,打开材质编辑器。2、在材质编辑器的菜单栏中,点击“文件>新建”,创建一个新的材质文件。3、在弹出的窗口中,选择材质类型为“ParticleMesh”,并在项目目录下的Assets文件夹中新建一个“Material”文件夹,将材质保存在该文件夹中,并重命名为“Particle”。4.材质编辑器的“材质属性”窗口显示当前材质类型和输入参数配置。您可以在这里修改其相应的参数设置。参数设置如下图所示。·基本色:使用基本色中的颜色,可以直接在输入栏中输入RGB值,也可以点击颜色方块打开“选择颜色”窗口进行颜色调整。自发光:要使用自发光属性,需要先打开“开”开关。颜色的使用方式与基色属性类似,强度决定了自发光的强度。5、为了丰富我们的粒子光效,我们需要重复步骤2~4重新制作两种不同颜色的光效材质,并命名为“Particle_02”和“Particle_03”。参数设置如下图所示。粒子编辑1.返回引擎首页,点击全局菜单栏中的“工具>粒子编辑器”,打开粒子编辑器。2、在粒子编辑器的“资源浏览”窗口中找到项目目录下的“Assets”文件夹,点击选中,在浏览模板中右击点击“新建文件夹”,命名为“Particle”。3、在我们在第2步中创建的“Particle”文件夹中,右击选择“NewParticleSystem”,命名为“Fireworks.particle”。4、双击浏览面板中创建的粒子进入编辑器,“发射器”窗口会显示默认效果:精灵粒子使用黄色材质,以每秒10个粒子的速度向上发射,粒子的生命周期为1秒。5、我们需要创建一个向上发射的粒子部分和一个爆炸的粒子部分来组成发射和绽放的烟花效果。让我们先编辑一个向上发射的粒子发射器。点击发射器节点中的“EmitterAttribute”属性类别后,可以在“Details”面板中查看该属性类别下的属性模块,并按下图设置最大发射粒子数和发射器时长。点击发射器节点中的“生成方式”属性类别,勾选“突发列表”生成方式,在突发列表中添加一个元素,设置粒子数为4。点击“粒子基本属性”属性类别发射器节点,并将粒子生命周期设置为1.5。点击发射器节点中的“EmitterShape”属性类别,在发射器形状中选择一个矩形,按下图设置大小。单击发射器节点中的“速度”属性类别并将Z轴速度设置为7.0。点击发射器节点中的“Size”属性类别,勾选“Sizechangeswithtime”,类型选择curvevalue,按下图设置X、Y、Z的最大值和曲线。点击发射器节点中的“外力”属性类别,勾选加速度,如下图设置。点击发射器节点中的“Lighting”属性类别,勾选Lighting,按下图设置参数。点击emitter节点中的“Renderer”属性类别,选择渲染器为“MeshRenderer”,在“Assets>Material>Particle.material”目录下找到我们在材质编辑章节保存的材质指定。在网格中指定“sphere.fbx”。6、至此,我们就完成了一个向上发射的粒子发射器,接下来我们需要编辑的是爆裂的烟花粒子。首先,我们在“Launcher”窗口中右击,点击“AddLauncher”,添加一个新的启动器。点击发射器节点中的“EmitterAttributes”属性类别后,如下图设置发射器属性参数。点击发射器节点中的“生成方式”属性类别后,如下图设置生成方式参数。点击发射器节点中的“ParticleBasicAttributes”属性类别后,按下图设置粒子基本属性参数。点击发射器节点中的“EmitterShape”属性类别后,如下图设置发射器形状参数。点击发射器节点中的“速度”属性类别后,按下图设置速度参数。点击发射器节点中的“尺寸”属性类别后,如下图设置尺寸参数。点击发射器节点中的“外力”属性类别后,按下图设置外力参数。点击发射器节点中的“光照”属性类别后,如下图设置光照参数。点击emitter节点中的“Renderer”属性类别后,如下图设置渲染器参数。7.重复步骤6,新建两个发射器,丰富烟花的粒子效果。需要注意的是,可以在新建的两个发射器中设置不同的“Speed>SphericalSpeed”参数和“ParticleBasicProperties>ParticleLife>LifeCycle”参数来丰富烟花效果,当然你也可以根据你了解设置其他属性的参数值。8、至此我们就完成了一个烟花粒子的设置。为了实现更丰富的效果,我们可以复制粒子文件,得到两个属性参数相同的新粒子效果。我们分别命名为“Fireworks_02”和“Fireworks_03”。9、在粒子编辑器中打开“Fireworks_02”粒子文件,点击四个发射器节点中的“Renderer”属性类别,指定材质为我们其他颜色的材质文件保存在“材质编辑”章节“Particle_02”,丰富我们的烟花效果,保存我们的编辑。同样,我们可以在“Fireworks_03”粒子文件中指定一个新的材质文件“Particle_03”。放置粒子1.返回引擎主页,在“实体大纲”窗口中右击,点击“创建实体”,创建7个空白实体,并在“组件属性”窗口中重命名,如下图2.多选新创建的实体后“EntityOutline”窗口中的7个实体,在“ComponentProperties”窗口中为它们添加“ParticleComponents”3.在“Particle”组件中,指定我们保存的粒子文件,并打开“Open”按钮,在这里我们可以为每个实体随机指定“Fireworks”、“Fireworks_02”和“Fireworks_03”粒子文件。5.使用视口控件随机放置7个实体的位置和旋转,这将决定烟花发射的角度和位置。6、最后,我们需要调整相机的角度和位置。我们在“EntityOutline”窗口的默认环境中选择“Camera”实体。7、在“组件属性”窗口中找到“飞行相机输入”组件,右键单击该组件,将其删除。8.在相机组件中,点击进入相机视角后,你的视口会显示相机视角,你可以使用鼠标和键盘在视口中移动视角。9.选择最佳观看位置后,单击“返回默认编辑器相机视点”。完成上述最终效果步骤后,点击运行按钮的下拉菜单,选择“播放(最大化)”全屏运行,即可运行该场景。更多详情>>访问3D引擎开发者联盟官网访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解最新HMSCore的技术资料~
