前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SourceEngine中的粒子系统

SourceEngine中的粒子系统

作者头像
逍遥剑客
发布2018-05-23 16:57:16
8180
发布2018-05-23 16:57:16
举报

https://developer.valvesoftware.com/wiki/Particle_System_Overview

  • 文件格式PCF
  • 编辑器Particle Editor
  • Memory Fields
    • 这里其实也是组件模式的一种应用, 否则内存和CPU的开销会很大
  • Control Points
    • 每个粒子系统最大有64个控制点, 0号默认为粒子的原点
    • 每个控制点可以设置位置, 朝向, 实体
    • TF中医生的治疗光线用控制点进行武器与目标玩家之间的连接
  • Components
    • 粒子系统由组件组成, 每一项都可以有多个元素
    • Renderers
      • spirit, 最常见的
      • rope, 一条连续的"绳子", 如闪电
      • trail, 拖尾
      • blob, 水滴
      • model, 使用模型代替粒子, 如爆炸碎片
      • project, 贴花?
    • Emitters
      • 可以有多个不同类型的发射器
      • 主要属性: 时间(start/end/fadein/fadeout), 发射数量(min/max), 速度, 随机
    • Initializers
      • 初始化位置, 颜色, 大小, 透明度, 速度等, 可以随机
      • 随机位置形状
      • 沿两个控制点之间移动
    • Operators
      • 每帧都影响各个粒子的属性
      • 可以影响控制点的位置
    • Forces
      • 力场模拟
    • Contraints
      • 物理碰撞
      • 与控制点之间的约束关系
      • 空间约束
    • Children
      • 发身子粒子系统, 实现更为复杂的效果 
  • 性能
    • 限制每个粒子系统的最大粒子数, 内存预分配这么多空间
    • 多线程
      • 多个粒子系统会分配到多个线程中计算
      • 子系统与父系统处于同一线程
    • SIMD
    • Overdraw
      • 尽量使用少的, 小的, 不透明的粒子
      • 材质中定义最小屏幕空间大小, 太小的剔除(或淡出)
      • 尽量关闭软粒子
    • 共享数据
      • 灵活使用控制点
    • 碰撞
  • 针对低端机多做一个粒子文件, 如xxxx_dx80.pcf
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012年04月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档