渲染顺序功能

This commit is contained in:
tianmo committed 2026-10-22 11:16:50 +08:00
1 parent aabf4ff693
commit c041503004
22 files changed
+1904 -1291

No files matched your search

+10
View File
@@ -65,6 +65,11 @@ export function defaultConfig(): EmitterConfig {
rootRotation: 0,
rootScaleX: 1,
rootScaleY: 1,
renderLayerMode: 'top',
renderLayerSpineId: 0,
renderLayerSlotName: '',
renderLayerSlotPosition: 'above',
renderLayerFollowAttachment: false,
emissionAngleMode: 'random',
direction: 0,
spread: 360,
@@ -296,6 +301,11 @@ export function ensureEmitterConfig(config: EmitterConfig): EmitterConfig {
if (config.shape !== 'path' && (config.emissionAngleMode === 'path-normal' || config.emissionAngleMode === 'path-tangent')) config.emissionAngleMode = 'fixed'
config.spawnPathId = Math.max(0, Math.round(Number(config.spawnPathId) || 0))
if (config.spawnPathDistribution !== 'fixed' && config.spawnPathDistribution !== 'random') config.spawnPathDistribution = 'fixed'
if (config.renderLayerMode !== 'top' && config.renderLayerMode !== 'slot') config.renderLayerMode = 'top'
config.renderLayerSpineId = Math.max(0, Math.round(Number(config.renderLayerSpineId) || 0))
if (typeof config.renderLayerSlotName !== 'string') config.renderLayerSlotName = ''
if (config.renderLayerSlotPosition !== 'above' && config.renderLayerSlotPosition !== 'below') config.renderLayerSlotPosition = 'above'
if (typeof config.renderLayerFollowAttachment !== 'boolean') config.renderLayerFollowAttachment = false
config.innerRadius = Math.max(0, Number(config.innerRadius) || 0)
config.outerRadius = Math.max(config.innerRadius, Number(config.outerRadius) || 0)
config.innerRectW = Math.max(0, Number(config.innerRectW) || 0)