吧务
level 15
顺便贴一下水面闪光的数据配置文件
PoolSparkly.xml:
<Emitter>
<SpawnRate>150</SpawnRate><!--产生速度-->
<ParticleDuration>[20 80]</ParticleDuration><!--颗粒持续时间范围-->0
<ParticleScale>[.3 .6] [.4 .8],10 [.5 1],50 [.4 .8],90 [.3 .6]</ParticleScale><!--颗粒尺寸-->
<ParticleAlpha>.8</ParticleAlpha><!--颗粒透明度-->
<SystemLoops>1</SystemLoops><!--系统循环-->
<Image>IMAGE_POO
LSP
ARKLY</Image><!--图片路径和名字-->
<EmitterBoxX>[0 FastInOutWeak 290]</EmitterBoxX><!--发射横坐标,快进慢出?-->
<EmitterBoxY>[0 135]</EmitterBoxY>
<EmitterSkewX>-.3</EmitterSkewX><!--发射横向倾斜度-->
<Field><!--字段、场地?-->
<FieldType>Velocity</FieldType><!--场地类型、字段类型:快速、高速-->
<X>[0 -10]</X><!--横向范围0到-10-->
<Y>[-2 2]</Y><!--纵向范围-2到2-->
</Field>
</Emitter>
<Emitter>
<SpawnRate>20</SpawnRate>
<ParticleDuration>[20 60]</ParticleDuration>
<ParticleScale>[.3 .6] [.4 .8],20 [.5 1],50 [.4 .8],80 [.3 .6]</ParticleScale>
<ParticleAlpha>.8</ParticleAlpha>
<SystemLoops>1</SystemLoops>
<Image>IMAGE_POOLSPARKLY</Image>
<EmitterBoxX>[-330 260]</EmitterBoxX>
<EmitterBoxY>[0 135]</EmitterBoxY>
<Field>
<FieldType>Velocity</FieldType>
<X>[0 -5]</X>
<Y>[-2 2]</Y>
</Field>
</Emitter>
2020年06月22日 02点06分
2
完全看不懂 在说什么啊
2020年12月07日 12点12分
这里面,为啥要两个Emitter,或许一个是标记右边的闪光,一个是左边的?
2020年06月22日 02点06分
<ParticleScale>里的数据也有点看不懂,[.3 .6] [.4 .8],10 [.5 1],50 [.4 .8],90 [.3 .6],应该是两组一对,以逗号隔离开,难道是随机从这四对中选取一组?scale看着应该是缩放、尺寸,但是这数据里的10、50、90是干啥用的,貌似游戏中的闪光没有几十倍这么大。
2020年06月22日 02点06分
<EmitterBoxX>中,是不是标记闪光出现的横坐标?两个横坐标中,[0 FastInOutWeak 290]、[-330 260],横坐标有负的,那么是不是都标记的是水面还是整个游戏界面的坐标?坐标原点又是哪里?如果是水面中某处为原点0,那么-330 260就代表左边的闪光坐标从-330延伸到右边260,0 FastInOutWeak 290
2020年06月22日 02点06分
level 1
水面闪光的xml文件我没研究。
我已知的是闪光由内存中的 partile systems、emitters、partiles 这几种数据记录。
partile systems 粒子系统,以下简称“粒系”
emitters 可能翻译是“发射源”,以下简称“发源”
partiles 粒子
粒系与粒子的关联,要通过“发源”:
一个粒系包含一个或多个“发源”(暂时没见到包含0个的),
一个“发源”包含多个粒子(也可能是0个或1个)。
内存 +768 +5620 是水面闪光的“粒系”的长编号。
2020年06月22日 03点06分
5
吧务
level 15
这是路灯花光线的粒子运动文件
两个Emitter代表两个发射控制源
路灯的光线文件是
PAK包/particles/LanternShine.png
<Emitter>
<SpawnMinActive>10</SpawnMinActive><!--每个发射源产生10个粒子,也就是10个png图片-->
<ParticleScale>1 Bounce [.7 1]</ParticleScale><!--粒子缩放尺寸在0.7到1倍之间-->
<ParticleAlpha>.5 Bounce [.3 .5]</ParticleAlpha><!--微粒透明度在0.3到0.5之间-->
<ParticleDuration>[60 120]</ParticleDuration><!--微粒持续时间,应该是厘秒,但是还不清楚这个持续时间什么意思,好像也不是一个粒子转一圈的时间,没那么快-->
<SystemLoops>1</SystemLoops><!--系统循环?-->
<ParticleLoops>1</ParticleLoops><!--微粒循环?-->
<RandomStartTime>1</RandomStartTime><!--随机开始时间?-->
<Image>IMAGE_LANTERNSHINE</Image><!--图像-->
<RandomLaunchSpin>1</RandomLaunchSpin><!--随机发起旋转?-->
<ParticleSpinSpeed>[-20 -40]</ParticleSpinSpeed><!--微粒旋转速度,一个发射源是顺时针,一个是逆时针,个人估计负号的是逆时针-->
<HardwareOnly>1</HardwareOnly><!--是否需要3D硬件加速-->
</Emitter>
<Emitter>
<SpawnMinActive>10</SpawnMinActive>
<ParticleScale>1 Bounce [.7 1]</ParticleScale>
<ParticleAlpha>.5 Bounce [.3 .5]</ParticleAlpha>
<ParticleDuration>[60 120]</ParticleDuration>
<SystemLoops>1</SystemLoops>
<ParticleLoops>1</ParticleLoops>
<RandomStartTime>1</RandomStartTime>
<Image>IMAGE_LANTERNSHINE</Image>
<RandomLaunchSpin>1</RandomLaunchSpin>
<ParticleSpinSpeed>[20 40]</ParticleSpinSpeed>
<HardwareOnly>1</HardwareOnly>
</Emitter>
2020年06月23日 12点06分
9
吧务
level 15
路灯花产生二十个光线图
10个顺时针旋转10个逆时针旋转
旋转的速度不一样
每个光线初始状态应该是原始大小,0.5的alpha,
根据配置文件应该是在20-40初始确定,确定以后这个光线的速度应该是不变的
每个光线图一边以固定的速度固定的方向旋转,一边以固定的速度收缩、复原
收缩范围在0.7到1之间,这个应该是不变的下限和上限
根据观察,光线的透明度应该是在收缩到0.7的时候为0.3,复原到1的时候为0.5
ParticleDuration微利持续时间的[60 120]暂时还没弄明白
2020年06月23日 12点06分
10
猜想60 120的持续时间,可能是每个光线缩放速度,每次缩放所花时间在60厘秒-120厘秒之间的一个随机数,这个随机数应该是初始化就固定了的。
2020年06月23日 12点06分
对了,这个[20 40]的估计速度,不确定是什么速度,角度不太像,目前估计应该是转动的弧长长度,如果是的话,那么换算成角度应该是11度-22度,1厘秒转22度的话未免太快,估计应该是1秒的转速在11-22度之间。
2020年06月24日 01点06分
光线在50%时缩到下限。收缩范围上限是1,下限不固定,是0.7~1的随机数,与水面光点类似,也由[+58]决定。[20 40]是每秒转动的角度,由粒子数据[+50]决定,也是0~1的随机数。
2020年07月02日 15点07分
吧务
level 15
以上是目前未上手写代码前对灯笼光线的推测,真正开始写的时候可能会进一步修正。
下面记录一下对白天泳池和夜晚泳池的观察和推测
夜晚泳池没有闪光,其它跟白天泳池的合成和运动方式一样
首先是素材方面
两个水池相关素材都在pak包的images里
pool.jpg、pool_base_night.jpg 这两个图应该是合成后的效果图,在游戏中没有用处
2020年06月24日 01点06分
13
吧务
level 15
这个阴影图就很简单了
就是两块纯色的图而已
蒙版蒙上去
形成一块白色区域的纯色最清晰其他区域半透明的阴影效果图
然后这层图就是第二层了
2020年06月24日 02点06分
17