Files
netease-modsdk-wiki/docs/mcguide/16-美术/9-特效/10-属性详细说明.md
2025-03-17 13:24:39 +08:00

20 KiB
Raw Blame History

front, hard, time
front hard time
https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/spark_EmitterSizeScaleEffect.5458f74c.gif 入门 30分钟

特效属性详细说明

粒子特效基本属性说明

特效方向direction

direction

属性 说明
描述 设置粒子方向
默认值 Inwards
参数范围 Inwards, Outwards, Direction
  • Direction, 使用粒子初始方向方向(每个方向在 directionMindirectionMax 之间随机)

Direction

  • Inwards, 使用发射器形状的向心方向

Direction

  • Outwards, 使用发射器形状的离心方向

Direction

directionMin

属性 说明
描述 设置粒子随机方向的最小值, 分别为 x, y, z 轴方向, 负值代表反向
默认值 -1.0 -1.0 -1.0
参数范围 -1.0 ~ 1.0
提示 该参数仅在方向为Direction时有效

directionMax

属性 说明
描述 设置粒子随机方向的最大值, 分别为 x, y, z 轴方向, 负值代表反向
默认值 1.0 1.0 1.0
参数范围 -1.0 ~ 1.0
提示 该参数仅在方向为Direction时有效, directionMax各个方向需要大于directionMin的相应值
{
  "direction": {
    "value": "Inwards",
    "min": "-1.0 -1.0 -1.0",
    "max": "1.0 1.0 1.0"
  }
}

初始速度velocity

属性 说明
描述 粒子的初始速度, 矢量, 分别为最小值和最大值
默认值 1.0 1.0
参数范围 -100000.0 ~ 100000.0
{
  "velocity": {
    "value": "1.0 1.0"
  }
}

恒定力constantforce

属性 说明
描述 粒子在 x, y, z 轴上所受恒定力, 相当于粒子运动过程中的加速度
默认值 0.0 0.0 0.0
参数范围 -100000.0 ~ 100000.0
{
  "constantforce": {
    "value": "0.0 0.0 0.0"
  }
}

阻尼力dampingforce

属性 说明
描述 方向与粒子速度方向相反的加速度
默认值 0.0
参数范围 -100000.0 ~ 100000.0
提示 当为负数时, 为加速度
说明 v 为粒子当前速度 则计算为 v = v - dampingforce * v
{
  "constantforce": {
    "value": "0.0 0.0 0.0"
  }
}

初始尺寸particlesize

属性 说明
描述 面向摄像机的二维平面(x, y)上的粒子初始尺寸
默认值 0.1 0.1
参数范围 -100000.0 ~ 100000.0
提示 max 各个方向需要大于 min 的相应值
{
  "particlesize": {
    "min": "0.1 0.1",
    "max": "0.1 0.1"
  }
}

初始旋转rotation

属性 说明
描述 面向摄像机的二维平面(x, y)上的粒子的初始旋转量即绕z轴的旋转的角度
默认值 0.0
参数范围 -999999.0 ~ 999999.0
提示 正数为逆时针, 负数为顺时针
提示 粒子的初始旋转介于min与max之间
{
  "rotation": {
    "min": "0.0",
    "max": "0.0"
  }
}

旋转速度rotationspeed

属性 说明
描述 面向摄像机的二维平面(x, y)上的粒子旋转速度
默认值 0.0
参数范围 -999999.0 ~ 999999.0
提示 正数为逆时针, 负数为顺时针
提示 粒子的实际旋转速度介于min与max之间
{
  "rotationSpeed": {
    "min": "0.0",
    "max": "0.0"
  }
}

生存时间timetolive

属性 说明
描述 粒子的生存时间
默认值 1.0
参数范围 0.0 ~ 100000.0
提示 粒子的实际生存时间介于min与max之间例如下列参数则设定粒子的存在时间为 1 - 2 秒
{
  "timetolive": {
    "min": "1.0",
    "max": "2.0"
  }
}

预热prewarm

属性 说明
描述 开启后粒子发射器在游戏初始就开始发射粒子
默认值 不开启
{
   "prewarm": true
}

独立生存时间independent

属性 说明
描述 开启后每个粒子的生命周期都会独立计算,关闭发射器粒子不会立即消失,而是会按照自身的生命周期逐渐消散
默认值 false
参数范围 false,true
{
    "independent": false
}

层级layer

属性 说明
描述 支持粒子前后层级效果,当数值越大,渲染越晚,显示越靠前
默认值 1
参数范围 0 ~ 15
{
  "layer": 1
}

粒子特效动态属性说明

动态尺寸sizedelta

属性 说明
描述 用来控制粒子尺寸在不同时间的大小变化
默认值 不开启
提示 包含相对时间和绝对时间两种形式

Direction

Direction

"sizedelta": [
	{
		"scale": "1.000 1.000",
		"time": "27%"
	},
	{
		"scale": "3.000 3.000",
		"time": "57%"
	}
	{
		"scale": "1.000 1.000",
		"time": "89%"
	}
]

动态颜色colorfade

属性 说明
描述 用来控制粒子尺寸在不同时期的颜色变化
默认值 不开启
提示 颜色值在不同的点之间是按照线性变化,支持透明度设置

Direction

Direction

"colorfade": [
	{
		"color": "1.00 1.00 1.00 1.00",
		"time": "0.0"
	},
	{
		"color": "0.67 0.00 0.00 0.44",
		"time": "0.48"
	},
	{
		"color": "1.00 1.00 0.24 1.00",
		"time": "1.0"
	}
]

粒子扰动disorder

Direction

属性 说明
描述 支持粒子能够在 x, y, z 轴上随机扰动
min 粒子在 x, y, z 轴上的最小扰动幅度
max 粒子在 x, y, z 轴上的最大扰动幅度
interval 粒子扰动时间间隔(秒)
increment 每次扰动后递增幅,多用于实现散开效果
提示 粒子的实际扰动介于min与max之间
{
  "disorder": {
    "min": "0.0 0.0 0.0",
    "max": "0.0 0.0 0.0",
    "interval": "0.0",
    "increment": "0.0"
  }
}

粒子发射器属性说明

最大粒子数量numparticles

Direction

属性 说明
描述 粒子同时存在的最大数量
默认值 10
参数范围 0 ~ 100000
提示 同屏显示的粒子数量还会受到发射速率的限制
{
  "numparticles": {
    "value": "10"
  }
}

发射周期长度activetime

属性 说明
描述 粒子发射器连续发射粒子的时间,此期间会一直连续发射粒子
默认值 0.0
参数范围 0.0 ~ 100000.0
提示 需要配合发射冷却时间 inactivetime 联合使用
说明 可将其可以视为发射器生命周期,方便调试有时间限制的效果。如果设置为 0粒子发射器会一直发射, 不会停歇
{
  "activetime": {
    "value": "0.0"
  }
}

发射周期间隔inactivetime

属性 说明
描述 两个发射周期之间的间隔
默认值 0.0
参数范围 0.0 ~ 100000.0
提示 需要配合连续发射时间 activetime 联合使用
说明 可将其视为发射器冷却时间
{
  "inactivetime": {
    "value": "0.0"
  }
}

发射速率emissionrate

属性 说明
描述 发射周期内粒子发射器每秒发射粒子数
默认值 10.0
参数范围 0.0 ~ 100000.0
提示 该速率仅会在发射周期长度内生效,当处于发射间隔时,将停止发射
提示 粒子的实际发射速率介于min与max之间
{
  "emissionrate": {
    "min": "10.0",
    "max": "10.0"
  }
}

发射路径emitterpath

Direction

属性 说明
描述 粒子发射器发射的路径,多用于配置爆炸等效果
参数范围 偏移 offset 无限制,时间 time 需要在粒子生存周期的最大值里

image

{
  "emitterpath": [
  {"offset": "1.0 0.0 1.0", "time": "0.0"},
  {"offset": "-1.0 0.0 -1.0", "time": "0.1"},
  {"offset": "0.0 1.0 0.0", "time": "0.2"},
  ]
}

发射器形状emittertype

属性 说明
描述 粒子发射器的形状
默认值 Spere
参数范围 Sphere, Hemisphere, Cylinder, Box,Cone
  • Sphere, 球形
  • Hemisphere, 半球形
  • Cylinder, 柱面(圆柱形)
  • Box, 方形
  • Cone, 锥形
{
  "emittertype": {
    "value": "Spere"
  }
}

发射器尺寸emittersize

属性 说明
描述 粒子发射器包围盒的尺寸,分别对应 x, y, z 轴
默认值 0.0 0.0 0.0
参数范围 0.0 ~ 100000.0
{
  "emittersize": {
    "value": "0.0 0.0 0.0"
  }
}

发射器尺寸缩放系数emitterscale

属性 说明
描述 粒子发射器在不同时间的缩放系数,用于扩展发射器的大小
默认值 不开启
参数范围 value 无限制,time 需要在粒子最大生存时间内
说明 该参数对已发射的粒子无影响

Direction

Direction

{
  "emitterscale": [
    {"time": "0.26", "value": "0.9"},
    {"time": "1.41", "value": "3.0"},
    {"time": "2.11", "value": "0.9"}
  ]
}

发射器表层厚度比例thickness

属性 说明
描述 发射器表层厚度比例, 当为 0 时,发射器仅包含表面形状, 当为 1 时, 发射器为实心
默认值 0.0
参数范围 0.0 ~ 1.0
{
  "thickness": {
    "value": "0.0"
  }
}

粒子特效资源属性说明

材质material

属性 说明
描述 粒子材质
默认值 "materials/particles.material"
{
  "material": {
    "name": "materials/particles.material"
  }
}

贴图texture

属性 说明
描述 粒子贴图,仅支持显示整张贴图
默认值 "textures/particle/sun"
参数范围
{
  "texture": {
    "name": "textures/particle/sun"
  }
}

序列帧ani

属性 说明
描述 粒子特效里使用的序列帧贴图
默认值 ""
参数范围
"texture": {
  "ani": {
    "fps": "1",
    "name": "textures/particle/my123_2"
  },
  "name": "textures/particle/my123_2"
}

序列帧帧率fps

属性 说明
描述 粒子特效里携带的序列帧的播放速度,每秒播放帧数
默认值 0
"texture": {
  "ani": {
    "fps": "1",
    "name": "textures/particle/my123_2"
  },
  "name": "textures/particle/my123_2"
}

序列帧随机播放shuffle

属性 说明
描述 粒子特效里携带的序列帧是否随机播放各个帧,如果选择打开则播放序列帧是乱序的,关闭则是按顺序播放
默认值 false
"texture": {
  "ani": {
    "fps": "1",
    "name": "textures/particle/my123_2",
    "shuffle": true
  },
  "name": "textures/particle/my123_2"
}

粒子特效渲染属性说明

序列帧循环enableloop

属性 说明
描述 当粒子的生命周期大于所携带的序列帧的时间时,用于控制序列帧是否循环播放
默认值 true
参数范围 false, true
{
  "enableloop": {
    "enable": "true"
  }
}

相对挂点运动relative

属性 说明
描述 用于控制粒子特效的运行轨迹是否相对于挂点
默认值 true
参数范围 true, false
{
  "relative": {
    "value": "true"
  }
}

混合模式blend

属性 说明
描述 用于控制不同粒子特效混合效果
默认值 blend
参数范围 blend, add, Opaque
  • blend, 透明度混合, 能保证两个颜色显示正常
  • add, 颜色值累加
  • Opaque, 不透明
{
  "blend": {
    "name": "blend"
  }
}

粒子朝向模式faceCameraMode

属性 说明
描述 用于控制粒子的朝向
默认值 Rotate XYZ
参数范围 Rotate XYZ, Rotate Y, Horizontal, DirectionDirection Horizontal
  • Rotate XYZ, 粒子朝向相机
  • Rotate Y, 粒子朝向地面
  • Horizontal, 粒子朝向水平方向
  • Direction, 粒子朝向为速度方向
  • Direction Horizontal粒子朝向水平速度方向
{
  "faceCameraMode": {
    "value": "Rotate XYZ"
  }
}

深度测试depthtest

属性 说明
描述 用于控制粒子特效是否开启深度检测
默认值 false
参数范围 true, false
说明 如果关闭深度检测,粒子特效会遮盖所在的屏幕平面渲染的东西,如果开启,则会依据深度进行相关渲染
  • 关闭深度检测

  • 打开深度检测

{  
  "depthtest": {
            "enable": "false"
        }
}

序列帧特效播放属性说明

循环播放loop

属性 说明
描述 用于控制序列帧特效是否循环播放
默认值 true
参数范围 true, false
{
  "loop": true
}

帧随机播放shuffle

属性 说明
描述 用于控制序列帧特效是否随机播放,即序列帧的播放顺序不是按照固定顺序
默认值 false
参数范围 true, false
提示 序列帧数量越多效果越明显
{
  "shuffle": false
}

播放帧率fps

属性 说明
描述 用于控制序列帧特效每秒的播放数量
默认值 30
参数范围 [1 - 100]
提示 受限于屏幕/游戏刷新率建议序列帧的播放帧率不要超过30
{
  "fps": 30
}

延迟开始播放

属性 说明
描述 用于控制序列帧特效是否延迟指定时间(秒)播放
默认值 0.0
参数范围 [0-999999]
{
   "delay": 10.0
}

始终面向摄像机face_camera

属性 说明
描述 用于控制序列帧特效是否始终正向于屏幕
默认值 false
参数范围 true, false
{
  "face_camera": false
}

深度检测depth_test

属性 说明
描述 用于控制序列帧特效是否开启深度检测
默认值 false
参数范围 true, false
说明 如果关闭深度检测,序列帧一直会遮盖所在的屏幕平面渲染的东西,如果开启,则会依据深度进行相关渲染
  • 关闭深度检测

  • 打开深度检测

{
  "depth_test": false
}

混合模式blend_mode

属性 说明
描述 用于控制不同序列帧特效混合效果
默认值 1
参数范围 1, 2
  • 1, 透明度混合, 能保证两个颜色显示正常
  • 2, 颜色值累加,仅单纯累加对应颜色值
{
   "blend_mode": 1
}

淡出距离

属性 说明
描述 序列帧与摄像机之间的距离小于该值时会自动调整序列帧的透明度
默认值 0.0
提示 距离摄像机越近,序列帧越透明
{
      "fade_distance": 10.0,
}

层级layer

属性 说明
描述 支持序列帧前后层级效果,当数值越大,渲染越晚,显示越靠前
默认值 1
参数范围 0 ~ 15
{
  "layer": 1
}

序列帧特效贴图属性说明

贴图texture

属性 说明
描述 序列帧的贴图路径
默认值 ``
提示 贴图仅支持 .png 格式,在使用时需要忽略后缀名
提示 序列帧 .png 贴图在同一目录下需要同名的 .json 配置文件,否则仅作为一个单帧图片显示,具体参考序列帧配置
{
  "texture": "textures/sfxs/my123"
}

贴图总缩放系数scale

属性 说明
描述 序列帧贴图的总缩放参数,分别表示 x, y, z 方向的缩放系数
默认值 1.0 1.0 1.0
提示 总缩放系数与序列帧的每帧系数叠加
{
  "scale": [1.0, 1.0, 1.0]
}

贴图重复次数tex_repeat_num

属性 说明
描述 序列帧分别在 x, y 上的重复参数
默认值 [1, 1]
{
  "tex_repeat_num": [1, 1]
}
  • 使用 [1, 1] 效果

  • 使用 [5, 2] 效果

旋转速度rot_speed

属性 说明
描述 序列帧贴图的沿 x, y, z 方向的旋转速度
默认值 [0.0, 0.0, 0.0]
{
  "rot_speed": [-1.0, 0.0, 1.0]
}

序列帧特效动态属性说明

每帧缩放scale

属性 说明
描述 用于设置序列帧每帧图片的缩放系数
提示 该属性位在序列帧贴图配置文件的对应帧数里
提示 如果修改该值,所有使用该序列帧贴图的特效都会受到影响
{  
  "scale": 
  {
     "x": 3.04,
     "y": 3.04,
     "z": 3.04
  }
}

动态颜色frame_color

属性 说明
描述 用来控制序列帧特效在不同时期的颜色变化
默认值 不开启
提示 颜色值在不同的点之间是按照线性变化,支持透明度设置
{
 "frame_color":
    [
      [
          1.0,
          0.9411764705882353,
          0.09411764705882353,
          1.0
      ],
      [
          0.06666666666666667,
          1.0,
          0.0196078431372549,
          0.7
      ],
      [
          1.0,
          0.23921568627450981,
          0.09019607843137255,
          1.0
      ]
    ]
}

Direction

Direction

序列帧特效环状序列帧属性说明

是否环状序列帧cylinder_enable

属性 说明
描述 用于控制序列帧特效是否开启环状序列帧属性
默认值 false
参数范围 true, false
  • 关闭环状序列帧

  • 打开环状序列帧

{
  "cylinder_enable": false
}

顶部半径cylinder_radius_up

属性 说明
描述 当开启环状序列帧属性后,用于控制序列帧的顶部半径
默认值 0.0
参数范围 0.0 - 100000.0
{
  "cylinder_radius_up": 1.0
}

底部半径cylinder_radius_down

属性 说明
描述 当开启环状序列帧属性后,用于控制序列帧的底部半径
默认值 0.0
参数范围 0.0 - 100000.0
{
  "cylinder_radius_down": 1.0
}

近似多边形数cylinder_frac_num

属性 说明
描述 当开启环状序列帧属性后,用于控制序列帧近似多边形数量
默认值 8
参数范围 1 - 100000
提示 参数越大则效果越好,当低于 3 时,该参数基本无效果
{
  "cylinder_frac_num": 10
}

高度cylinder_height

属性 说明
描述 当开启环状序列帧属性后,用于控制序列帧的高度
默认值 0.0
参数范围 0.0 - 100000.0
{
  "cylinder_height": 1.0
}