@galacean/cli 2.0.0-alpha.11 → 2.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.bundle.cjs +3171 -2951
- package/dist/viewport-client/_static/Accordion-3d330bc6.js +1 -0
- package/dist/viewport-client/_static/AmbientLightAsset-bdbc4e1d.js +5 -0
- package/dist/viewport-client/_static/AnimationClipAsset-9167378a.js +1 -0
- package/dist/viewport-client/_static/AnimatorControllerAsset-21dc6332.js +1 -0
- package/dist/viewport-client/_static/AnimatorStore-18d3c551.js +1 -0
- package/dist/viewport-client/_static/AssetViewer-64cd01fa.js +1 -0
- package/dist/viewport-client/_static/AudioAsset-0c828c80.js +1 -0
- package/dist/viewport-client/_static/AudioComponent-fbff3825.js +1 -0
- package/dist/viewport-client/_static/Callout-ba7e2adf.js +1 -0
- package/dist/viewport-client/_static/CameraComponent-74975570.js +1 -0
- package/dist/viewport-client/_static/Component-ed7aa0ab.js +1 -0
- package/dist/viewport-client/_static/DirectLight-b884e7db.js +1 -0
- package/dist/viewport-client/_static/FontAsset-d1ced18d.js +5 -0
- package/dist/viewport-client/_static/FormItemArray-6d69acd4.js +6 -0
- package/dist/viewport-client/_static/GlTFAsset-2723b84a.js +20 -0
- package/dist/viewport-client/_static/IconEdit-ab77303f.js +6 -0
- package/dist/viewport-client/_static/IconPointFilled-811fc660.js +6 -0
- package/dist/viewport-client/_static/LightBaseComponent-12dc27d1.js +1 -0
- package/dist/viewport-client/_static/LottieAnimationComponent-c48c5eb5.js +1 -0
- package/dist/viewport-client/_static/LottieAsset-3692580d.js +6 -0
- package/dist/viewport-client/_static/MarkdownAsset-bcb90be4.js +1 -0
- package/dist/viewport-client/_static/MaterialAsset-6ef9b4ed.js +1 -0
- package/dist/viewport-client/_static/MaterialInspector-e8242674.js +1 -0
- package/dist/viewport-client/_static/Menu-0b8da92f.js +17 -0
- package/dist/viewport-client/_static/MeshAsset-ca9305e5.js +1 -0
- package/dist/viewport-client/_static/MeshRendererBaseComponent-9efd3943.js +1 -0
- package/dist/viewport-client/_static/MeshRendererComponent-c9a03641.js +1 -0
- package/dist/viewport-client/_static/MeshThumbnail-ab28b3b8.js +1 -0
- package/dist/viewport-client/_static/ParticleRendererComponent-96947c1d.js +26 -0
- package/dist/viewport-client/_static/PhysicsMaterialAsset-4a1e5ea3.js +1 -0
- package/dist/viewport-client/_static/PhysicsStore-33cac578.js +1 -0
- package/dist/viewport-client/_static/PointLight-fd514526.js +1 -0
- package/dist/viewport-client/_static/PostProcessComponent-d0ea27a4.js +6 -0
- package/dist/viewport-client/_static/PrefabAsset-9179b95c.js +1 -0
- package/dist/viewport-client/_static/PrimitiveMesh-0572a073.js +1 -0
- package/dist/viewport-client/_static/ProxyConfigs-3a5fd860.js +1 -0
- package/dist/viewport-client/_static/ReferencedMaterial-5773c9d2.js +1 -0
- package/dist/viewport-client/_static/RenderTargetAsset-ab6e06d2.js +1 -0
- package/dist/viewport-client/_static/SceneAsset-385fa837.js +1 -0
- package/dist/viewport-client/_static/ShaderAsset-f4514b03.js +185 -0
- package/dist/viewport-client/_static/ShaderChunkAsset-34116f2c.js +5 -0
- package/dist/viewport-client/_static/ShaderUIScriptAsset-fc503291.js +516 -0
- package/dist/viewport-client/_static/SkinnedMeshRendererComponent-494ad439.js +1 -0
- package/dist/viewport-client/_static/SpineAnimationComponent-3918d7b5.js +1 -0
- package/dist/viewport-client/_static/SpineSkeletonDataAsset-27244892.js +1 -0
- package/dist/viewport-client/_static/SpotLight-f9972dc0.js +1 -0
- package/dist/viewport-client/_static/SpriteAsset-558ffca8.js +6 -0
- package/dist/viewport-client/_static/SpriteAtlasAsset-cdc34386.js +1 -0
- package/dist/viewport-client/_static/SpriteBaseComponent-3edafa31.js +1 -0
- package/dist/viewport-client/_static/SpriteMaskComponent-de2e5231.js +1 -0
- package/dist/viewport-client/_static/SpriteRendererComponent-e999e735.js +1 -0
- package/dist/viewport-client/_static/TaskQueue-05c94a4d.js +1 -0
- package/dist/viewport-client/_static/TextBaseComponent-ce1402c3.js +11 -0
- package/dist/viewport-client/_static/TextRendererComponent-f7c0deae.js +1 -0
- package/dist/viewport-client/_static/TextureAsset-39fb07fe.js +36 -0
- package/dist/viewport-client/_static/Tooltip-82063435.js +1 -0
- package/dist/viewport-client/_static/TrailRendererComponent-37f5c981.js +1 -0
- package/dist/viewport-client/_static/TransformBaseComponent-713d57e9.js +1 -0
- package/dist/viewport-client/_static/TransformComponent-40a57948.js +1 -0
- package/dist/viewport-client/_static/XRReferenceImageAsset-2f6ff226.js +1 -0
- package/dist/viewport-client/_static/assetEditorActions-c4e5962f.js +1 -0
- package/dist/viewport-client/_static/audio-7120ec91.js +1 -0
- package/dist/viewport-client/_static/bundlers-9b0d37fc.js +1 -0
- package/dist/viewport-client/_static/createOnModelChange-b57a0da8.js +1 -0
- package/dist/viewport-client/_static/encode-ac4bb64e.js +1 -0
- package/dist/viewport-client/_static/enum-58295f88.js +1 -0
- package/dist/viewport-client/_static/glTFIO-79bbca27.js +1 -0
- package/dist/viewport-client/_static/index-483b5738.js +1 -0
- package/dist/viewport-client/_static/index-74130ff3.js +1 -0
- package/dist/viewport-client/_static/index-78269e76.js +1 -0
- package/dist/viewport-client/_static/index-7834b582.js +1 -0
- package/dist/viewport-client/_static/index-7917f782.js +20 -0
- package/dist/viewport-client/_static/index-7acd49d2.js +1 -0
- package/dist/viewport-client/_static/index-9d3917da.js +1 -0
- package/dist/viewport-client/_static/index-a9b2675e.js +1 -0
- package/dist/viewport-client/_static/index-aec7e708.js +11487 -0
- package/dist/viewport-client/_static/index-b5582401.js +1 -0
- package/dist/viewport-client/_static/index-bfe6f30e.js +16 -0
- package/dist/viewport-client/_static/index-c63c9606.js +2 -0
- package/dist/viewport-client/_static/index-cd1fee9d.js +1 -0
- package/dist/viewport-client/_static/index-e73ceaed.js +1 -0
- package/dist/viewport-client/_static/index-e8a45e82.js +1 -0
- package/dist/viewport-client/_static/index-f2cb64af.js +1 -0
- package/dist/viewport-client/_static/index-fbe040bf.js +31 -0
- package/dist/viewport-client/_static/ktx2-encoder-53b21bdc.js +1 -0
- package/dist/viewport-client/_static/ktx2-worker-a04f41ea.js +1 -0
- package/dist/viewport-client/_static/meshopt_simplifier.module-cd99529d.js +1 -0
- package/dist/viewport-client/_static/module-220b3921.js +1 -0
- package/dist/viewport-client/_static/module-8816772d.js +1 -0
- package/dist/viewport-client/_static/module-ffeaf99f.js +56 -0
- package/dist/viewport-client/_static/postmen-2f47f6bb.js +1 -0
- package/dist/viewport-client/_static/scriptPropertyActions-d3a583d2.js +1 -0
- package/dist/viewport-client/index.html +20 -0
- package/package.json +2 -1
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
var P=Object.defineProperty;var F=(t,a,e)=>a in t?P(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var d=(t,a,e)=>(F(t,typeof a!="symbol"?a+"":a,e),e);import{aQ as U,C as h,aS as u,bu as m,j as O,u as N,bz as C,bA as f,x,a$ as R,p as B,e as y,bD as w,n as H,q as Q,o as k,eb as X,ec as j,ed as V,by as $,bx as G}from"./index-aec7e708.js";import"./index-e8a45e82.js";function z(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}var c=(t=>(t.Default="default",t.ShaderUI="shader_ui",t.StateMachine="state_machine",t))(c||{});const W=`import { Script } from '@galacean/engine';
|
|
2
|
+
/**
|
|
3
|
+
* 脚本参考: https://galacean.antgroup.com/engine/docs/script/class
|
|
4
|
+
*/
|
|
5
|
+
export default class extends Script {
|
|
6
|
+
/**
|
|
7
|
+
* 主更新,逐帧调用。
|
|
8
|
+
* @param deltaTime - 帧间隔时间
|
|
9
|
+
*/
|
|
10
|
+
onUpdate(deltaTime: number) {}
|
|
11
|
+
}`,q=`import { StateMachineScript, Animator, AnimatorState } from '@galacean/engine';
|
|
12
|
+
/**
|
|
13
|
+
* Performance can be improved by rewriting it for real use.
|
|
14
|
+
*/
|
|
15
|
+
export default class extends StateMachineScript {
|
|
16
|
+
/**
|
|
17
|
+
* onStateEnter is called when a transition starts and the state machine starts to evaluate this state.
|
|
18
|
+
* @param animator - The animator
|
|
19
|
+
* @param animatorState - The state be evaluated
|
|
20
|
+
* @param layerIndex - The index of the layer where the state is located
|
|
21
|
+
*/
|
|
22
|
+
// onStateEnter(animator: Animator, animatorState: AnimatorState, layerIndex: number): void {}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* onStateUpdate is called on each Update frame between onStateEnter and onStateExit callbacks.
|
|
26
|
+
* @param animator - The animator
|
|
27
|
+
* @param animatorState - The state be evaluated
|
|
28
|
+
* @param layerIndex - The index of the layer where the state is located
|
|
29
|
+
*/
|
|
30
|
+
// onStateUpdate(animator: Animator, animatorState: AnimatorState, layerIndex: number): void {}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* onStateExit is called when a transition ends and the state machine finishes evaluating this state.
|
|
34
|
+
* @param animator - The animator
|
|
35
|
+
* @param animatorState - The state be evaluated
|
|
36
|
+
* @param layerIndex - The index of the layer where the state is located
|
|
37
|
+
*/
|
|
38
|
+
// onStateExit(animator: Animator, animatorState: AnimatorState, layerIndex: number): void {}
|
|
39
|
+
}
|
|
40
|
+
`,K=`import { Material } from "@galacean/engine";
|
|
41
|
+
|
|
42
|
+
export default class extends ShaderUIScript {
|
|
43
|
+
constructor() {
|
|
44
|
+
super();
|
|
45
|
+
|
|
46
|
+
// this.onPropertyChanged("otherProperty", (material: Material, value) => {
|
|
47
|
+
// // custom change callback
|
|
48
|
+
// })
|
|
49
|
+
|
|
50
|
+
// this.onMacroChanged('otherMacro', (material: Material, enabled, value) => {
|
|
51
|
+
// // custom change callback
|
|
52
|
+
// })
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
override onMaterialShaderSwitched(material: Material) {}
|
|
56
|
+
}
|
|
57
|
+
`,Y=`import { Material, RenderQueueType, BlendFactor, RenderFace, CullMode, BlendMode } from "@galacean/engine";
|
|
58
|
+
|
|
59
|
+
export default class extends ShaderUIScript {
|
|
60
|
+
constructor() {
|
|
61
|
+
super();
|
|
62
|
+
|
|
63
|
+
this.onPropertyChanged("material_BaseTexture", (material: Material, value) => {
|
|
64
|
+
const shaderData = material.shaderData;
|
|
65
|
+
if (value) {
|
|
66
|
+
shaderData.enableMacro("MATERIAL_HAS_BASETEXTURE");
|
|
67
|
+
} else {
|
|
68
|
+
shaderData.disableMacro("MATERIAL_HAS_BASETEXTURE");
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
this.onPropertyChanged("isTransparent", (material: Material, isTransparent) => {
|
|
73
|
+
const shaderData = material.shaderData;
|
|
74
|
+
if (isTransparent) {
|
|
75
|
+
shaderData.setInt("depthWriteEnabled", 0);
|
|
76
|
+
shaderData.setInt("blendEnabled", 1);
|
|
77
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
78
|
+
shaderData.enableMacro("MATERIAL_IS_TRANSPARENT");
|
|
79
|
+
} else {
|
|
80
|
+
shaderData.setInt("depthWriteEnabled", 1);
|
|
81
|
+
shaderData.setInt("blendEnabled", 0);
|
|
82
|
+
shaderData.setInt("renderQueueType", shaderData.getFloat("material_AlphaCutoff") ? RenderQueueType.AlphaTest : RenderQueueType.Opaque);
|
|
83
|
+
shaderData.disableMacro("MATERIAL_IS_TRANSPARENT");
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
this.onPropertyChanged("material_AlphaCutoff", (material: Material, value: number) => {
|
|
88
|
+
const shaderData = material.shaderData;
|
|
89
|
+
if (value) {
|
|
90
|
+
shaderData.enableMacro("MATERIAL_IS_ALPHA_CUTOFF")
|
|
91
|
+
} else {
|
|
92
|
+
shaderData.disableMacro("MATERIAL_IS_ALPHA_CUTOFF")
|
|
93
|
+
}
|
|
94
|
+
const renderQueue = shaderData.getInt("renderQueueType");
|
|
95
|
+
if (renderQueue !== RenderQueueType.Transparent) {
|
|
96
|
+
shaderData.setInt("renderQueueType", value > 0 ? RenderQueueType.AlphaTest : RenderQueueType.Opaque);
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
this.onPropertyChanged("renderFace", (material: Material, value: RenderFace) => {
|
|
101
|
+
const shaderData = material.shaderData;
|
|
102
|
+
switch (value) {
|
|
103
|
+
case RenderFace.Front:
|
|
104
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Back);
|
|
105
|
+
break;
|
|
106
|
+
case RenderFace.Back:
|
|
107
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Front);
|
|
108
|
+
break;
|
|
109
|
+
case RenderFace.Double:
|
|
110
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Off);
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
this.onPropertyChanged("blendMode", (material: Material, value: BlendMode) => {
|
|
116
|
+
const shaderData = material.shaderData;
|
|
117
|
+
switch (value) {
|
|
118
|
+
case BlendMode.Normal:
|
|
119
|
+
shaderData.setInt("sourceColorBlendFactor", BlendFactor.SourceAlpha);
|
|
120
|
+
shaderData.setInt("destinationColorBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
121
|
+
shaderData.setInt("sourceAlphaBlendFactor", BlendFactor.One);
|
|
122
|
+
shaderData.setInt("destinationAlphaBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
123
|
+
break;
|
|
124
|
+
case BlendMode.Additive:
|
|
125
|
+
shaderData.setInt("sourceColorBlendFactor", BlendFactor.SourceAlpha);
|
|
126
|
+
shaderData.setInt("destinationColorBlendFactor", BlendFactor.One);
|
|
127
|
+
shaderData.setInt("sourceAlphaBlendFactor", BlendFactor.One);
|
|
128
|
+
shaderData.setInt("destinationAlphaBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
`,J=`import { Material, RenderQueueType, Vector3, Vector2, Vector4, Color, BlendFactor, RenderFace, CullMode, BlendMode, RefractionMode } from "@galacean/engine";
|
|
135
|
+
|
|
136
|
+
export default class extends ShaderUIScript {
|
|
137
|
+
constructor() {
|
|
138
|
+
super();
|
|
139
|
+
|
|
140
|
+
this.onPropertyChanged("material_BaseTexture", (material: Material, value) => {
|
|
141
|
+
const shaderData = material.shaderData;
|
|
142
|
+
if (value) {
|
|
143
|
+
shaderData.enableMacro("MATERIAL_HAS_BASETEXTURE");
|
|
144
|
+
} else {
|
|
145
|
+
shaderData.disableMacro("MATERIAL_HAS_BASETEXTURE");
|
|
146
|
+
}
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
this.onPropertyChanged("material_RoughnessMetallicTexture", (material: Material, value) => {
|
|
150
|
+
const shaderData = material.shaderData;
|
|
151
|
+
if (value) {
|
|
152
|
+
shaderData.enableMacro("MATERIAL_HAS_ROUGHNESS_METALLIC_TEXTURE");
|
|
153
|
+
} else {
|
|
154
|
+
shaderData.disableMacro("MATERIAL_HAS_ROUGHNESS_METALLIC_TEXTURE");
|
|
155
|
+
}
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
this.onPropertyChanged("anisotropy", (material: Material, value) => {
|
|
159
|
+
const shaderData = material.shaderData;
|
|
160
|
+
const anisotropyInfo = shaderData.getVector3("material_AnisotropyInfo");
|
|
161
|
+
|
|
162
|
+
if (value) {
|
|
163
|
+
shaderData.enableMacro("MATERIAL_ENABLE_ANISOTROPY");
|
|
164
|
+
} else {
|
|
165
|
+
shaderData.disableMacro("MATERIAL_ENABLE_ANISOTROPY");
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
anisotropyInfo.z = value;
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
this.onPropertyChanged("anisotropyRotation", (material: Material, value) => {
|
|
172
|
+
const shaderData = material.shaderData;
|
|
173
|
+
const anisotropyInfo = shaderData.getVector3("material_AnisotropyInfo");
|
|
174
|
+
const rad = (Math.PI / 180) * value;
|
|
175
|
+
|
|
176
|
+
anisotropyInfo.x = Math.cos(rad);
|
|
177
|
+
anisotropyInfo.y = Math.sin(rad);
|
|
178
|
+
})
|
|
179
|
+
|
|
180
|
+
this.onPropertyChanged("material_AnisotropyTexture", (material: Material, value) => {
|
|
181
|
+
const shaderData = material.shaderData;
|
|
182
|
+
if (value) {
|
|
183
|
+
shaderData.enableMacro("MATERIAL_HAS_ANISOTROPY_TEXTURE");
|
|
184
|
+
} else {
|
|
185
|
+
shaderData.disableMacro("MATERIAL_HAS_ANISOTROPY_TEXTURE");
|
|
186
|
+
}
|
|
187
|
+
})
|
|
188
|
+
|
|
189
|
+
this.onPropertyChanged("material_NormalTexture", (material: Material, value) => {
|
|
190
|
+
const shaderData = material.shaderData;
|
|
191
|
+
if (value) {
|
|
192
|
+
shaderData.enableMacro("MATERIAL_HAS_NORMALTEXTURE");
|
|
193
|
+
} else {
|
|
194
|
+
shaderData.disableMacro("MATERIAL_HAS_NORMALTEXTURE");
|
|
195
|
+
}
|
|
196
|
+
})
|
|
197
|
+
|
|
198
|
+
this.onPropertyChanged("material_EmissiveTexture", (material: Material, value) => {
|
|
199
|
+
const shaderData = material.shaderData;
|
|
200
|
+
if (value) {
|
|
201
|
+
shaderData.enableMacro("MATERIAL_HAS_EMISSIVETEXTURE");
|
|
202
|
+
} else {
|
|
203
|
+
shaderData.disableMacro("MATERIAL_HAS_EMISSIVETEXTURE");
|
|
204
|
+
}
|
|
205
|
+
})
|
|
206
|
+
|
|
207
|
+
this.onPropertyChanged("material_OcclusionTexture", (material: Material, value) => {
|
|
208
|
+
const shaderData = material.shaderData;
|
|
209
|
+
if (value) {
|
|
210
|
+
shaderData.enableMacro("MATERIAL_HAS_OCCLUSION_TEXTURE");
|
|
211
|
+
} else {
|
|
212
|
+
shaderData.disableMacro("MATERIAL_HAS_OCCLUSION_TEXTURE");
|
|
213
|
+
}
|
|
214
|
+
})
|
|
215
|
+
|
|
216
|
+
this.onPropertyChanged("material_ClearCoat", (material: Material, value) => {
|
|
217
|
+
const shaderData = material.shaderData;
|
|
218
|
+
if (value) {
|
|
219
|
+
shaderData.enableMacro("MATERIAL_ENABLE_CLEAR_COAT");
|
|
220
|
+
} else {
|
|
221
|
+
shaderData.disableMacro("MATERIAL_ENABLE_CLEAR_COAT");
|
|
222
|
+
}
|
|
223
|
+
})
|
|
224
|
+
|
|
225
|
+
this.onPropertyChanged("material_ClearCoatTexture", (material: Material, value) => {
|
|
226
|
+
const shaderData = material.shaderData;
|
|
227
|
+
if (value) {
|
|
228
|
+
shaderData.enableMacro("MATERIAL_HAS_CLEAR_COAT_TEXTURE");
|
|
229
|
+
} else {
|
|
230
|
+
shaderData.disableMacro("MATERIAL_HAS_CLEAR_COAT_TEXTURE");
|
|
231
|
+
}
|
|
232
|
+
})
|
|
233
|
+
|
|
234
|
+
this.onPropertyChanged("material_ClearCoatRoughnessTexture", (material: Material, value) => {
|
|
235
|
+
const shaderData = material.shaderData;
|
|
236
|
+
if (value) {
|
|
237
|
+
shaderData.enableMacro("MATERIAL_HAS_CLEAR_COAT_ROUGHNESS_TEXTURE");
|
|
238
|
+
} else {
|
|
239
|
+
shaderData.disableMacro("MATERIAL_HAS_CLEAR_COAT_ROUGHNESS_TEXTURE");
|
|
240
|
+
}
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
this.onPropertyChanged("material_ClearCoatNormalTexture", (material: Material, value) => {
|
|
244
|
+
const shaderData = material.shaderData;
|
|
245
|
+
if (value) {
|
|
246
|
+
shaderData.enableMacro("MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE");
|
|
247
|
+
} else {
|
|
248
|
+
shaderData.disableMacro("MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE");
|
|
249
|
+
}
|
|
250
|
+
})
|
|
251
|
+
|
|
252
|
+
this.onPropertyChanged("iridescence", (material: Material, value) => {
|
|
253
|
+
const shaderData = material.shaderData;
|
|
254
|
+
const iridescenceInfo = shaderData.getVector4("material_IridescenceInfo");
|
|
255
|
+
if (value) {
|
|
256
|
+
shaderData.enableMacro("MATERIAL_ENABLE_IRIDESCENCE");
|
|
257
|
+
} else {
|
|
258
|
+
shaderData.disableMacro("MATERIAL_ENABLE_IRIDESCENCE");
|
|
259
|
+
}
|
|
260
|
+
iridescenceInfo.x = value;
|
|
261
|
+
})
|
|
262
|
+
|
|
263
|
+
this.onPropertyChanged("iridescenceIOR", (material: Material, value) => {
|
|
264
|
+
const shaderData = material.shaderData;
|
|
265
|
+
const iridescenceInfo = shaderData.getVector4("material_IridescenceInfo");
|
|
266
|
+
iridescenceInfo.y = value;
|
|
267
|
+
})
|
|
268
|
+
|
|
269
|
+
this.onPropertyChanged("iridescenceRange", (material: Material, value: Vector2) => {
|
|
270
|
+
const shaderData = material.shaderData;
|
|
271
|
+
const iridescenceInfo = shaderData.getVector4("material_IridescenceInfo");
|
|
272
|
+
iridescenceInfo.z = value.x;
|
|
273
|
+
iridescenceInfo.w = value.y;
|
|
274
|
+
})
|
|
275
|
+
|
|
276
|
+
this.onPropertyChanged("material_IridescenceTexture", (material: Material, value) => {
|
|
277
|
+
const shaderData = material.shaderData;
|
|
278
|
+
if (value) {
|
|
279
|
+
shaderData.enableMacro("MATERIAL_HAS_IRIDESCENCE_TEXTURE");
|
|
280
|
+
} else {
|
|
281
|
+
shaderData.disableMacro("MATERIAL_HAS_IRIDESCENCE_TEXTURE");
|
|
282
|
+
}
|
|
283
|
+
})
|
|
284
|
+
|
|
285
|
+
this.onPropertyChanged("material_IridescenceThicknessTexture", (material: Material, value) => {
|
|
286
|
+
const shaderData = material.shaderData;
|
|
287
|
+
if (value) {
|
|
288
|
+
shaderData.enableMacro("MATERIAL_HAS_IRIDESCENCE_THICKNESS_TEXTURE");
|
|
289
|
+
} else {
|
|
290
|
+
shaderData.disableMacro("MATERIAL_HAS_IRIDESCENCE_THICKNESS_TEXTURE");
|
|
291
|
+
}
|
|
292
|
+
})
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
this.onPropertyChanged("sheenColor", (material: Material, value: Color) => {
|
|
296
|
+
const shaderData = material.shaderData;
|
|
297
|
+
const sheenColor = shaderData.getColor("material_SheenColor");
|
|
298
|
+
const sheenIntensity = shaderData.getFloat("sheenIntensity");
|
|
299
|
+
|
|
300
|
+
const r = value.r * sheenIntensity;
|
|
301
|
+
const g = value.g * sheenIntensity;
|
|
302
|
+
const b = value.b * sheenIntensity;
|
|
303
|
+
sheenColor.set(r, g, b, 1);
|
|
304
|
+
|
|
305
|
+
const enableSheen = r + g + b > 0;
|
|
306
|
+
if (enableSheen) {
|
|
307
|
+
shaderData.enableMacro("MATERIAL_ENABLE_SHEEN");
|
|
308
|
+
} else {
|
|
309
|
+
shaderData.disableMacro("MATERIAL_ENABLE_SHEEN");
|
|
310
|
+
}
|
|
311
|
+
})
|
|
312
|
+
|
|
313
|
+
this.onPropertyChanged("sheenIntensity", (material: Material, value: number) => {
|
|
314
|
+
const shaderData = material.shaderData;
|
|
315
|
+
const uiSheenColor = shaderData.getColor("sheenColor");
|
|
316
|
+
const sheenColor = shaderData.getColor("material_SheenColor");
|
|
317
|
+
|
|
318
|
+
sheenColor.set(value * uiSheenColor.r, value * uiSheenColor.g, value * uiSheenColor.b, 1)
|
|
319
|
+
})
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
this.onPropertyChanged("material_SheenTexture", (material: Material, value) => {
|
|
323
|
+
const shaderData = material.shaderData;
|
|
324
|
+
if (value) {
|
|
325
|
+
shaderData.enableMacro("MATERIAL_HAS_SHEEN_TEXTURE");
|
|
326
|
+
} else {
|
|
327
|
+
shaderData.disableMacro("MATERIAL_HAS_SHEEN_TEXTURE");
|
|
328
|
+
}
|
|
329
|
+
})
|
|
330
|
+
|
|
331
|
+
this.onPropertyChanged("material_SheenRoughnessTexture", (material: Material, value) => {
|
|
332
|
+
const shaderData = material.shaderData;
|
|
333
|
+
if (value) {
|
|
334
|
+
shaderData.enableMacro("MATERIAL_HAS_SHEEN_ROUGHNESS_TEXTURE");
|
|
335
|
+
} else {
|
|
336
|
+
shaderData.disableMacro("MATERIAL_HAS_SHEEN_ROUGHNESS_TEXTURE");
|
|
337
|
+
}
|
|
338
|
+
})
|
|
339
|
+
|
|
340
|
+
this.onPropertyChanged("material_Transmission", (material: Material, value) => {
|
|
341
|
+
const shaderData = material.shaderData;
|
|
342
|
+
|
|
343
|
+
if (value) {
|
|
344
|
+
shaderData.enableMacro("MATERIAL_ENABLE_TRANSMISSION");
|
|
345
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
346
|
+
} else {
|
|
347
|
+
shaderData.disableMacro("MATERIAL_ENABLE_TRANSMISSION");
|
|
348
|
+
const isTransparent = Boolean(shaderData.getFloat("isTransparent"));
|
|
349
|
+
if (isTransparent) {
|
|
350
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
351
|
+
} else if (shaderData.getFloat("material_AlphaCutoff")) {
|
|
352
|
+
shaderData.setInt("renderQueueType", RenderQueueType.AlphaTest);
|
|
353
|
+
} else {
|
|
354
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Opaque);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
}
|
|
358
|
+
})
|
|
359
|
+
|
|
360
|
+
this.onPropertyChanged("material_TransmissionTexture", (material: Material, value) => {
|
|
361
|
+
const shaderData = material.shaderData;
|
|
362
|
+
if (value) {
|
|
363
|
+
shaderData.enableMacro("MATERIAL_HAS_TRANSMISSION_TEXTURE");
|
|
364
|
+
} else {
|
|
365
|
+
shaderData.disableMacro("MATERIAL_HAS_TRANSMISSION_TEXTURE");
|
|
366
|
+
}
|
|
367
|
+
})
|
|
368
|
+
|
|
369
|
+
this.onPropertyChanged("material_Thickness", (material: Material, value) => {
|
|
370
|
+
const shaderData = material.shaderData;
|
|
371
|
+
if (value) {
|
|
372
|
+
shaderData.enableMacro("MATERIAL_HAS_THICKNESS");
|
|
373
|
+
} else {
|
|
374
|
+
shaderData.disableMacro("MATERIAL_HAS_THICKNESS");
|
|
375
|
+
}
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
this.onPropertyChanged("material_ThicknessTexture", (material: Material, value) => {
|
|
379
|
+
const shaderData = material.shaderData;
|
|
380
|
+
if (value) {
|
|
381
|
+
shaderData.enableMacro("MATERIAL_HAS_THICKNESS_TEXTURE");
|
|
382
|
+
} else {
|
|
383
|
+
shaderData.disableMacro("MATERIAL_HAS_THICKNESS_TEXTURE");
|
|
384
|
+
}
|
|
385
|
+
})
|
|
386
|
+
|
|
387
|
+
this.onPropertyChanged("isTransparent", (material: Material, isTransparent: boolean) => {
|
|
388
|
+
const shaderData = material.shaderData;
|
|
389
|
+
shaderData.setInt("depthWriteEnabled",isTransparent?0:1);
|
|
390
|
+
shaderData.setInt("blendEnabled", isTransparent?1:0);
|
|
391
|
+
|
|
392
|
+
if (shaderData.getFloat("material_Transmission") > 0) {
|
|
393
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
394
|
+
} else if(isTransparent) {
|
|
395
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
396
|
+
shaderData.enableMacro("MATERIAL_IS_TRANSPARENT");
|
|
397
|
+
} else {
|
|
398
|
+
shaderData.setInt("renderQueueType", shaderData.getFloat("material_AlphaCutoff") ? RenderQueueType.AlphaTest : RenderQueueType.Opaque);
|
|
399
|
+
shaderData.disableMacro("MATERIAL_IS_TRANSPARENT");
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
})
|
|
403
|
+
|
|
404
|
+
this.onPropertyChanged("material_AlphaCutoff", (material: Material, value: number) => {
|
|
405
|
+
const shaderData = material.shaderData;
|
|
406
|
+
|
|
407
|
+
if (value) {
|
|
408
|
+
shaderData.enableMacro("MATERIAL_IS_ALPHA_CUTOFF")
|
|
409
|
+
} else {
|
|
410
|
+
shaderData.disableMacro("MATERIAL_IS_ALPHA_CUTOFF")
|
|
411
|
+
}
|
|
412
|
+
const renderQueue = shaderData.getInt("renderQueueType");
|
|
413
|
+
|
|
414
|
+
if (shaderData.getFloat("material_Transmission") > 0) {
|
|
415
|
+
shaderData.setInt("renderQueueType", RenderQueueType.Transparent);
|
|
416
|
+
} else if (renderQueue !== RenderQueueType.Transparent) {
|
|
417
|
+
shaderData.setInt("renderQueueType", value > 0 ? RenderQueueType.AlphaTest : RenderQueueType.Opaque);
|
|
418
|
+
}
|
|
419
|
+
})
|
|
420
|
+
|
|
421
|
+
this.onPropertyChanged("renderFace", (material: Material, value: RenderFace) => {
|
|
422
|
+
const shaderData = material.shaderData;
|
|
423
|
+
switch (value) {
|
|
424
|
+
case RenderFace.Front:
|
|
425
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Back);
|
|
426
|
+
break;
|
|
427
|
+
case RenderFace.Back:
|
|
428
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Front);
|
|
429
|
+
break;
|
|
430
|
+
case RenderFace.Double:
|
|
431
|
+
shaderData.setInt("rasterStateCullMode", CullMode.Off);
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
434
|
+
})
|
|
435
|
+
|
|
436
|
+
this.onPropertyChanged("blendMode", (material: Material, value: BlendMode) => {
|
|
437
|
+
const shaderData = material.shaderData;
|
|
438
|
+
switch (value) {
|
|
439
|
+
case BlendMode.Normal:
|
|
440
|
+
shaderData.setInt("sourceColorBlendFactor", BlendFactor.SourceAlpha);
|
|
441
|
+
shaderData.setInt("destinationColorBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
442
|
+
shaderData.setInt("sourceAlphaBlendFactor", BlendFactor.One);
|
|
443
|
+
shaderData.setInt("destinationAlphaBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
444
|
+
break;
|
|
445
|
+
case BlendMode.Additive:
|
|
446
|
+
shaderData.setInt("sourceColorBlendFactor", BlendFactor.SourceAlpha);
|
|
447
|
+
shaderData.setInt("destinationColorBlendFactor", BlendFactor.One);
|
|
448
|
+
shaderData.setInt("sourceAlphaBlendFactor", BlendFactor.One);
|
|
449
|
+
shaderData.setInt("destinationAlphaBlendFactor", BlendFactor.OneMinusSourceAlpha);
|
|
450
|
+
break;
|
|
451
|
+
}
|
|
452
|
+
})
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
this.onPropertyChanged("refractionMode", (material: Material, value: RefractionMode) => {
|
|
456
|
+
material.shaderData.enableMacro("REFRACTION_MODE", value.toString());
|
|
457
|
+
})
|
|
458
|
+
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
override onMaterialShaderSwitched(material: Material) {
|
|
462
|
+
const shaderData = material.shaderData;
|
|
463
|
+
|
|
464
|
+
shaderData.disableMacro("MATERIAL_OMIT_NORMAL");
|
|
465
|
+
shaderData.enableMacro("MATERIAL_NEED_WORLD_POS");
|
|
466
|
+
shaderData.enableMacro("MATERIAL_NEED_TILING_OFFSET");
|
|
467
|
+
|
|
468
|
+
// default value
|
|
469
|
+
const anisotropyInfo = shaderData.getVector3("material_AnisotropyInfo");
|
|
470
|
+
const iridescenceInfo = shaderData.getVector4("material_IridescenceInfo");
|
|
471
|
+
const sheenColor = shaderData.getColor("material_SheenColor");
|
|
472
|
+
const attenuationColor = shaderData.getColor("material_AttenuationColor");
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
if (!anisotropyInfo) {
|
|
476
|
+
shaderData.setVector3("material_AnisotropyInfo", new Vector3(1, 0, 0));
|
|
477
|
+
} else {
|
|
478
|
+
shaderData.setFloat("anisotropy", anisotropyInfo.z);
|
|
479
|
+
const PI2 = Math.PI * 2;
|
|
480
|
+
const rotationRad = (Math.atan2(anisotropyInfo.y, anisotropyInfo.x) + PI2) % PI2;
|
|
481
|
+
shaderData.setFloat("anisotropyRotation", rotationRad * (180 / Math.PI))
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
if (!iridescenceInfo) {
|
|
485
|
+
shaderData.setVector4("material_IridescenceInfo", new Vector4(0, 1.3, 100, 400));
|
|
486
|
+
} else {
|
|
487
|
+
shaderData.setFloat("iridescence", iridescenceInfo.x);
|
|
488
|
+
shaderData.setFloat("iridescenceIOR", iridescenceInfo.y);
|
|
489
|
+
shaderData.setVector2("iridescenceRange", new Vector2(iridescenceInfo.z, iridescenceInfo.w));
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
if(attenuationColor && attenuationColor.a == undefined){
|
|
493
|
+
attenuationColor.a = 1;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
if (!sheenColor) {
|
|
497
|
+
shaderData.setColor("material_SheenColor", new Color(0, 0, 0, 1));
|
|
498
|
+
} else {
|
|
499
|
+
const intensity = shaderData.getFloat("sheenIntensity") ?? 1;
|
|
500
|
+
|
|
501
|
+
if(!shaderData.getColor("sheenColor")) {
|
|
502
|
+
shaderData.setColor("sheenColor", new Color());
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
shaderData.getColor("sheenColor").copyFrom(sheenColor)
|
|
506
|
+
|
|
507
|
+
if(intensity > 0) {
|
|
508
|
+
shaderData.getColor("sheenColor").scale(1 / intensity).a = 1.0;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
`;var M=(t=>(t.Default="default",t[t.StateMachine=c.StateMachine]="StateMachine",t.UnlitUIScript="unlitUIScript",t.PbrUIScript="pbrUIScript",t.DefaultUIScript="defaultUIScript",t))(M||{});const b={default:W,[M.StateMachine]:q,defaultUIScript:K,unlitUIScript:Y,pbrUIScript:J},Z=t=>{const{type:a="esm",varName:e,namedExports:r=null,defaultExport:s=!0}=typeof t=="string"?{varName:t}:t;return{type:a,varName:e,namedExports:r,defaultExport:s}},ee=t=>`module.exports = ${t};`,ae=(t,a,e)=>{const r=e?[`export default ${t};`]:[];if(a&&a.length){const s=[...new Set(a)].join(", ");r.push(`const { ${s} } = ${t};`),r.push(`export { ${s} };`)}return r.join(`
|
|
516
|
+
`)},te=t=>{const{type:a,varName:e,namedExports:r,defaultExport:s}=t;switch(a){case"esm":return ae(e,r,s);case"cjs":return ee(e)}},A="global-externals",re=t=>{const{modulePathFilter:a,getModuleInfo:e}=t;return{name:A,setup(r){r.onResolve({filter:a},s=>({path:s.path,namespace:A})),r.onLoad({filter:/.*/,namespace:A},s=>{const n=s.path,o=Z(e(n));return{contents:te(o)}})}}},se=t=>{const a={modulePathFilter:new RegExp(`^(?:${Object.keys(t).join("|")})$`),getModuleInfo:e=>t[e]};return re(a)};class ne{constructor(){d(this,"_propertyCallBacks",new Map);d(this,"_macroCallBacks",new Map)}onMaterialShaderSwitched(a){}onPropertyChanged(a,e){this._propertyCallBacks.set(a,e)}onMacroChanged(a,e){this._macroCallBacks.set(a,e)}}const oe=U(t=>{const a=t.asset,e=a.properties.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),r=a.macros.map(n=>({label:n,type:h.PureDisplay,disable:!0,value:"",property:n})),s=a.referencedShaderList.map(n=>({label:n.includePath,type:h.PureDisplay,disable:!0,value:"",property:n.includePath}));return u.jsxs(u.Fragment,{children:[u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Properties",type:h.Group,children:e},model:a},"ScriptProperties"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Watched Macros",type:h.Group,children:r},model:a},"ScriptMacros"),u.jsx(m,{onModelChange:null,inspectorConfig:{property:"Referenced Shaders",type:h.Group,children:s},model:a},"ReferencedShaders")]})});var g=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,le=(t,a,e)=>a in t?g(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,p=(t,a,e,r)=>{for(var s=r>1?void 0:r?ie(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&g(a,e,s),s},de=(t,a,e)=>(le(t,typeof a!="symbol"?a+"":a,e),e);let l=class extends O{constructor(a,e,r){super(a);d(this,"_code");d(this,"isScript",!0);d(this,"subType",c.Default);if(N(this),this.onDoubleClick=this.onDoubleClick.bind(this),r&&r.subType){if(r.subType===c.ShaderUI)return Reflect.construct(l.getScriptConstruct(c.ShaderUI),[a,e]);if(r.subType===c.StateMachine)return Reflect.construct(l.getScriptConstruct(c.StateMachine),[a,e])}return this}static registerScriptConstruct(a,e){return this.registeredScriptMap.set(a,e)}static getScriptConstruct(a){return this.registeredScriptMap.get(a)}get code(){return this._code}set code(a){this._code=a}updateCode(a){this._code=a,this._originMainFile=new File([a],this.name)}async initByMain(a){const e=await a.text();this._code=e,this.subType=this.meta.subType??c.Default}async initByCreation(a,e,r={template:M.Default}){const s=b[r.template];return this._code=s.replace("$$name",z(this.name)),this._code}onDoubleClick(){C(this.root.projectStore.id,this.id),f()}getMainData(){return this._code}};de(l,"registeredScriptMap",new Map);p([x],l.prototype,"_code",2);p([R()],l.prototype,"subType",2);p([B({type:h.Textarea,label:y("script.source.code")}),w],l.prototype,"code",1);l=p([H({type:"script",label:y("asset.script.title"),defaultName:"Script.ts",extname:"ts",dragLayer:Q.Script,importMenuConfig:{type:k.Add},bundle({content:t}){return{content:new Blob([t],{type:"text/plain; charset=utf-8"})}}})],l);const ce=async t=>X(()=>import(t),[]);async function he(t,a=ce){const e=URL.createObjectURL(new Blob([t],{type:"application/javascript"}));try{return await a(e)}finally{URL.revokeObjectURL(e)}}var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,me=(t,a,e,r)=>{for(var s=r>1?void 0:r?pe(a,e):a,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(a,e,s):o(s))||s);return r&&s&&ue(a,e,s),s};window.Galacean=j;window.ShaderUIScript=ne;var i;const v=(i=class extends l{constructor(){super(...arguments);d(this,"subType",c.ShaderUI);d(this,"_script");d(this,"_referencedShaderList",[])}get referencedShaderList(){return this._referencedShaderList}getMetaConfig(){let e=l.getRegisteredAssetMeta(l);return e={...e,defaultName:"ShaderUIScript.ts",customInspector:oe},e}get properties(){return Array.from(this._script._propertyCallBacks.keys())}get macros(){return Array.from(this._script._macroCallBacks.keys())}addReferencedShader(e){this._referencedShaderList.findIndex(r=>r.id===e.id)===-1&&this._referencedShaderList.push(e)}removeReferencedShader(e){const r=this._referencedShaderList.findIndex(s=>s.id===e.id);r!==-1&&this._referencedShaderList.splice(r,1)}async initByMain(e,r){const s=await e.text();await this.updateCode(s);const n=this.getRouteString();i.assetsMap.set(n,this)}initByCreation(e,r,s){return this._code=b[s.template],Promise.resolve(this.getMainData())}async updateCode(e){this._code=e,this._originMainFile=new File([e],this.name);const r=await this._compile(e),s=await he(r.contents);this._script=new s.default}async _compile(e){await this.root.esbuildInstancePromise;const{dependencies:r,setting:s}=this.root.projectStore;return(await V.build({stdin:{contents:e,loader:"ts"},bundle:!0,format:"esm",plugins:[se({"@galacean/engine":{varName:"Galacean",type:"cjs"}}),Ae(s.dependencies??r??{})]})).outputFiles[0]}async rename(e){let r=this.getRouteString();i.assetsMap.delete(r),await super.rename(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}afterDelete(){var r;(r=super.afterDelete)==null||r.call(this);const e=this.getRouteString();i.assetsMap.delete(e),this._refreshShader()}async moveTo(e){let r=this.getRouteString();i.assetsMap.delete(r),await this.moveViaFacade(e),r=this.getRouteString(),i.assetsMap.set(r,this),this._refreshShader()}getPropertyCallback(e){return this._script._propertyCallBacks.get(e)}getMacroCallback(e){return this._script._macroCallBacks.get(e)}onShaderChange(e){return this._script.onMaterialShaderSwitched(e)}onDoubleClick(){if(this.locked){$.error("Cannot edit internal Shader");return}C(this.root.projectStore.id,this.id),f()}_refreshShader(){for(const e of this._referencedShaderList)e.reCompile()}},d(i,"assetsMap",new Map),i);me([R()],v.prototype,"subType",2);let Se=v;const E=new Map;function Ae(t){return{name:"cdnImport",setup(a){a.onResolve({filter:/^\S/},e=>({namespace:"cdn",path:e.path})),a.onLoad({namespace:"cdn",filter:/^./},async e=>{const r=E.get(e.path);if(r)return{contents:r,loader:"js"};const s=e.path,n=t[s]??"latest",o=`https://registry.npmmirror.com/${s}/${n}/files`,_=await fetch(`${o}/package.json`);if(!_.ok)return{errors:[{text:`package not found: ${s}`}]};const T=await _.json(),S=T.browser||T.main;if(S){const L=G("/",S),I=await fetch(`${o}${L}`);if(I.ok){const D=await I.text();return E.set(s,D),{contents:D,loader:"js"}}else return{errors:[{text:`failed to import ${e.path}`}]}}})}}}export{c as E,ne as S,l as a,Se as b,M as c,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var y=Object.defineProperty;var j=(s,e,r)=>e in s?y(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var c=(s,e,r)=>(j(s,typeof e!="symbol"?e+"":e,r),r);import{aQ as m,bm as S,aR as b,aS as t,aD as v,aF as d,aO as f,aP as g,aU as u,aW as k,aV as B,f as F,p as h,C as O,s as R}from"./index-aec7e708.js";import{u as E}from"./index-e8a45e82.js";import{c as I}from"./Component-ed7aa0ab.js";import{c as M}from"./createOnModelChange-b57a0da8.js";import{M as P}from"./MaterialInspector-e8242674.js";import{M as _}from"./MeshRendererBaseComponent-9efd3943.js";import"./IconPointFilled-811fc660.js";const x=m(S),z=m(({model:s,inspectorConfig:e,onModelChange:r})=>{const{disabled:n,property:o}=e,{t:l}=b();return t.jsxs(t.Fragment,{children:[t.jsx(v,{label:l(e.label),info:l(e.info),fieldCss:{minHeight:"$5"},children:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:null})}),t.jsx(x,{label:" ",disabled:n,value:s[o].min,onChange:a=>{r==null||r(o,{...s[o],min:a})},formEndSlot:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:l("skinned-mesh-renderer.local-bounds.min.label")})}),t.jsx(x,{label:" ",disabled:n,value:s[o].max,onChange:a=>{r==null||r(o,{...s[o],max:a})},formEndSlot:t.jsx(d,{size:"sm",selectable:!0,code:!0,children:l("skinned-mesh-renderer.local-bounds.max.label")})})]})}),C=f("div",{marginLeft:"5px"}),T=f(g,{border:"1px solid $gray6",borderRadius:"$2",padding:"$0_5",color:"$gray11",cursor:"pointer"}),$=m(function(s){const e=s.data,{t:r}=b();return t.jsxs(T,{align:"v",children:[t.jsx("img",{src:e.thumbnailUrl,alt:"Material Thumbnail",width:"20px",height:"20px"}),t.jsxs(C,{children:[r("skinned-mesh-renderer.material.label"),"(",e.name,")"]})]})}),V=m(function(s){const[e,r]=u.useState(null),n=s.data,{assetStore:o,inspectorFacade:l}=E();return u.useEffect(()=>{o.getAssetByRef(n.material).then(a=>{r(a)})},[n.material]),t.jsxs(t.Fragment,{children:[t.jsx(k.List,{model:n,configs:n.formSchema.items,onModelChange:M("component",n.id,l,n)}),e&&t.jsx(B,{nesting:!0,title:t.jsx($,{data:e}),open:n.materialOpen,onOpenChange:a=>{n.setMaterialOpen(a)},children:t.jsx(P,{asset:e})})]})});var w=Object.defineProperty,D=Object.getOwnPropertyDescriptor,p=(s,e,r,n)=>{for(var o=n>1?void 0:n?D(e,r):e,l=s.length-1,a;l>=0;l--)(a=s[l])&&(o=(n?a(e,r,o):a(o))||o);return n&&o&&w(e,r,o),o};let i=class extends _{constructor(e,r){super(e,r);c(this,"rootBone",null);c(this,"localBounds",{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0}})}};p([F({getEngineValue:s=>{var e;return(e=s.skin)==null?void 0:e.rootBone}}),h({label:"skinned-mesh-renderer.skin.root-bone.label",info:"skinned-mesh-renderer.skin.root-bone.info",type:O.EntityPicker,disabled:!0})],i.prototype,"rootBone",2);p([h({label:"skinned-mesh-renderer.local-bounds.title",info:"skinned-mesh-renderer.local-bounds.info",customComponent:z,type:"BoundingBox"}),R()],i.prototype,"localBounds",2);i=p([I({type:"SkinnedMeshRenderer",customInspector:V,componentsMenu:{label:"component.renderer.skinned-mesh.title"}})],i);export{i as SkinnedMeshRendererComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var F=Object.defineProperty;var S=(e,i,n)=>i in e?F(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n;var a=(e,i,n)=>(S(e,typeof i!="symbol"?i+"":i,n),n);import{S as v,a as B}from"./module-ffeaf99f.js";import{aQ as h,bl as b,e as y,E as N,x as g,p as l,C as f,s as m}from"./index-aec7e708.js";import{u as k}from"./index-e8a45e82.js";import{c as O}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";const P=h(function(e){const{model:i}=e,{inspectorFacade:n}=k();return b({label:y("spine.animation.label"),value:i.animationName,options:i.animationForm,onChange(t){n.componentChange(i.id,"animationName",t)}})}),_=h(function(e){const{model:i}=e,{inspectorFacade:n}=k();return b({label:y("spine.skin.label"),value:i.skinName,options:i.skinForm,onChange(t){n.componentChange(i.id,"skinName",t)}})});var j=Object.defineProperty,I=Object.getOwnPropertyDescriptor,p=(e,i,n,t)=>{for(var o=t>1?void 0:t?I(i,n):i,c=e.length-1,u;c>=0;c--)(u=e[c])&&(o=(t?u(i,n,o):u(o))||o);return t&&o&&j(i,n,o),o};let s=class extends N{constructor(i,n){super(i,n);a(this,"animationForm",[]);a(this,"skinForm",[]);a(this,"hasInit",!1);a(this,"resource",null);a(this,"loop",!1);a(this,"animationName","none");a(this,"skinName","default");a(this,"priority",0);a(this,"premultipliedAlpha",!1);a(this,"tintBlack",!1)}deserialize(i){const{props:n}=i;if(this._enabled=(n==null?void 0:n.enabled)??!0,n){this.priority=n.priority,this.resource=n.resource,this.premultipliedAlpha=n.premultipliedAlpha,this.tintBlack=n.tintBlack??!1;const{animationName:t,skinName:o,loop:c}=n.defaultConfig;this.animationName=t||"none",this.skinName=o,this.loop=c}super.deserialize(i)}toJSON(){const i=this.animationName==="none"?null:this.animationName;return{id:this.id,class:this.type,props:{enabled:this.enabled,priority:this.priority,resource:this.resource,premultipliedAlpha:this.premultipliedAlpha,tintBlack:this.tintBlack,defaultConfig:{animationName:i,skinName:this.skinName,loop:this.loop}}}}};p([g],s.prototype,"animationForm",2);p([g],s.prototype,"skinForm",2);p([l({label:"spine.resource.label",info:"spine.resource.info",type:f.AssetPicker,assetType:"SpineSkeletonData",onChange:async(e,i,n)=>{const t=e.engineObject;if(n){t.enabled=!0;const{skeletonData:o}=n;if(!o)return;const u=o.animations.map(r=>r.name).map(r=>({label:r,value:r}));u.unshift({label:"none",value:"none"}),e.animationForm=u,e.skinForm=o.skins.map(r=>({label:r.name,value:r.name})),e.hasInit?(e.animationName="none",e.skinName="default"):e.hasInit=!0;const{loop:d,skinName:C}=e,A=e.animationName==="none"?null:e.animationName;t.defaultConfig.animationName=A,t.defaultConfig.skinName=C,t.defaultConfig.loop=d,t.resource=new v(t.engine,o)}else t.enabled=!1,e.animationName="none",e.animationForm.length=0,e.skinForm.length=0,e.premultipliedAlpha=!1,e.tintBlack=!1}}),m()],s.prototype,"resource",2);p([l({label:"spine.loop.label",info:"spine.loop.info",type:f.Toggle,onChange(e,i,n){const{state:t}=e.engineObject;if(t){const o=t.getCurrent(0);o&&(o.loop=n)}}}),m()],s.prototype,"loop",2);p([l({info:"spine.animation.info",customComponent:P,onChange(e,i,n){const{state:t}=e.engineObject;t&&(n==="none"?t.setEmptyAnimation(0,0):t.setAnimation(0,n,e.loop))}}),m()],s.prototype,"animationName",2);p([l({info:"spine.skin.info",customComponent:_,onChange(e,i,n){const{engineObject:{skeleton:t}}=e;t&&n&&(t.setSkinByName(n),t.setSlotsToSetupPose())}}),m()],s.prototype,"skinName",2);p([l({label:"spine.priority.label",info:"spine.priority.info",type:f.Number,bindPath:"priority"}),m()],s.prototype,"priority",2);p([l({label:"spine.premultiplied-alpha.label",info:"spine.premultiplied-alpha.info",type:f.Toggle,bindPath:"premultipliedAlpha"}),m()],s.prototype,"premultipliedAlpha",2);p([l({label:"spine.tint-black.label",info:"spine.tint-black.info",type:f.Toggle,bindPath:"tintBlack"}),m()],s.prototype,"tintBlack",2);s=p([O({type:"SpineAnimationRenderer",componentsMenu:{group:"2D",label:"component.spine-animation.title"}})],s);N.registerCustomEngineComponent("SpineAnimationRenderer",B);export{s as SpineAnimationComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var I=Object.defineProperty;var j=(t,s,e)=>s in t?I(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var c=(t,s,e)=>(j(t,typeof s!="symbol"?s+"":s,e),e);import{c7 as b,e as w,aO as $,u as B,S as U,aQ as q,aU as C,aS as A,c8 as z,x as g,aL as k,c9 as V,ca as M,j as J,_ as K,cb as L,p as W,C as X,a$ as Y,m as Q,n as G,q as H,o as Z,c5 as ee,by as te}from"./index-aec7e708.js";import{b as ne,c as se,T as ie,d as ae,R as oe,M as re,B as le,P as pe,e as ce,C as ue,f as me,a as v,S as T,L as he}from"./module-ffeaf99f.js";import"./index-e8a45e82.js";import"./postmen-2f47f6bb.js";import{A as de}from"./AssetViewer-64cd01fa.js";const x=new Map;function fe(t){return t??""}function ge(t){return`${t.name}|${t.size}|${t.lastModified}|${t.type}`}function ye(t,s){const{uploadAssetFile:e,assetType:n,parentFolderId:i,assetMeta:a}=s,o=i??t.currentFolderId??"",r=b(e.main,"upload.bin"),u=ge(r),l=fe(a);return`${o}|${n}|${u}|${l}`}function N(t,s){const e=ye(t,s),n=x.get(e);if(n)return n;const i=t.createAssetByUpload(s).finally(()=>{x.get(e)===i&&x.delete(e)});return x.set(e,i),i}var O=(t=>(t.region="region",t.boundingbox="boundingbox",t.mesh="mesh",t.linkedmesh="linkedmesh",t.path="path",t.point="point",t.clipping="clipping",t.sequence="sequence",t))(O||{});const Ae=["region","linkedmesh","mesh"];async function we(t,s){const e={uploadFiles:[],usedFiles:[],errors:[]},{atlasRawFiles:n,atlasFound:i}=await ke(t,e),a=await Promise.all(n.map(l=>N(s.root.assetFacade,{uploadAssetFile:l,assetType:"SpineAtlas"})));e.usedFiles.push(...n.flatMap(l=>[b(l.main,"spine.atlas"),...Object.values(l.subFiles)]));const o=await Se(t,e);o.length>0&&!i&&e.errors.push(w("spine.error.no-atlas-file"));const r=o.map(l=>(e.usedFiles.push(l.spineFile),xe(l,a,e)));let u=await Promise.all(r);return u=u.filter(l=>l!==null),e.uploadFiles.push(...u),e}async function ke(t,s){const e=[];let n=!1;for(const i in t){const a=t[i];if(a.name.endsWith(".atlas")){n=!0;const r=await Pe(t,a);if(r.length>0){const u={};r.forEach(l=>u[l.name]=l),e.push({main:a,subFiles:u})}else s.errors.push(w("spine.error.missing-images"))}}return{atlasRawFiles:e,atlasFound:n}}async function Se(t,s){const e=[];for(const n in t){const i=t[n],a=i.name,o=a.split(".")[0];if(a.endsWith(".json"))try{const r=await i.text(),u=JSON.parse(r);u.skeleton&&u.skeleton.spine&&e.push({spineFile:i,spineName:o,isBinary:!1})}catch(r){s.errors.push(P(a,r))}else a.endsWith(".skel")&&e.push({spineFile:i,spineName:o,isBinary:!0})}return e}async function xe(t,s,e){const{spineFile:n}=t,i={type:"SpineSkeletonData",atlas:{refId:null}},a={main:n,meta:null};let o;try{o=await De(t,s,e)}catch(r){return e.errors.push(r instanceof Error?r.message:P(n.name,r)),null}return s.length===0?null:o?(i.atlas.refId=o.id,a.meta=JSON.stringify(i),a):(e.errors.push(w("spine.error.missing-attachments")),null)}async function De(t,s,e){const n=await _e(t);return await Re(s,n)}async function _e(t){const{spineFile:s,isBinary:e}=t,n=new Set;if(e){const r=await s.arrayBuffer();return Fe(r,n),Array.from(n)}const i=await s.text();let a;try{a=JSON.parse(i)}catch(r){throw new Error(P(s.name,r))}return!a||!a.skins?[]:(a.skins.forEach(r=>{if(r.attachments)for(const u in r.attachments){const l=r.attachments[u];for(const y in l){const p=l[y];if(p.type){let h;const f=p.type;try{h=O[f]}catch(F){throw console.warn(w("spine.error.incompatible-version",f)),F}if(!Ae.includes(h))continue}if(p.path)n.add(p.path);else if(p.name)n.add(p.name);else if(p.sequence){const h=new ne(null).readSequence(p.sequence);if(h)for(let f=0;f<h.regions.length;++f)n.add(h.getPath(y,f));else n.add(y)}else n.add(y)}}}),Array.from(n))}function Fe(t,s){new se(new D(s)).readSkeletonData(new Uint8Array(t))}class D{constructor(s){c(this,"requiredPaths");this.requiredPaths=s}static assignDummyRegion(s){s.region=new ie(new ae("dummy"),"")}newRegionAttachment(s,e,n,i){const a=new oe(e,"");return i?this.loadSequence(n,i):(this.requiredPaths.add(n),D.assignDummyRegion(a)),a}newMeshAttachment(s,e,n,i){const a=new re(e,"");return i?this.loadSequence(n,i):(this.requiredPaths.add(n),D.assignDummyRegion(a)),a}newBoundingBoxAttachment(s,e){return new le(e)}newPathAttachment(s,e){return new pe(e)}newPointAttachment(s,e){return new ce(e)}newClippingAttachment(s,e){return new ue(e)}loadSequence(s,e){const n=e.regions;for(let i=0,a=n.length;i<a;i++){const o=e.getPath(s,i);this.requiredPaths.add(o)}}}async function Re(t,s){for(let e=0;e<t.length;e+=1){const n=t[e];if(Te(n.textureAtlas,s))return n}return null}async function Te(t,s){for(let e=0;e<s.length;e+=1){const n=s[e];if(!be(t,n))return!1}return!0}function P(t,s){const e=s instanceof Error?s.message:String(s);return`Failed to parse spine JSON "${t}": ${e}`}function be(t,s){const e=t.findRegion(s);if(e)return e;const n=s.length;for(const i of t.regions){const a=i.name;if(a.startsWith(s)&&a.substring(n).split("").every(r=>r>="0"&&r<="9"))return i}return null}async function Pe(t,s){const e=await s.text(),n=new me(e),i=[];return n.pages.forEach(a=>{const o=a.name,r=t[o];if(r)i.push(r);else return null}),i}async function Me(t,s,e){const n=b(t.main,"spine.atlas"),i=await Ce(t,e);return{main:n,meta:JSON.stringify({textures:i,type:"SpineAtlas"})}}async function Ce(t,s){const e=[];for(const p in t.subFiles){const h=t.subFiles[p];h.name.endsWith(".atlas")||e.push({main:h,type:"Texture"})}const n=[];let i=[],a;const o=s.getAssetFromCurrentFolder();(o==null?void 0:o.length)>0&&(a=o.filter(p=>p.meta.type==="Texture")),a?e.forEach(p=>{const h=a.find(f=>f.name===p.main.name);h?n.push(h.getCurrentRef()):i.push(p)}):i=e;const r=[];i.forEach(p=>{r.push(N(s.root.assetFacade,{uploadAssetFile:p,assetType:"Texture"}))});const l=(await Promise.all(r)).map(p=>p.getCurrentRef());return n.concat(l)}var ve=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,d=(t,s,e,n)=>{for(var i=n>1?void 0:n?Ne(s,e):s,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(s,e,i):o(i))||i);return n&&i&&ve(s,e,i),i};const Oe=$("div",{position:"absolute",top:8,left:8,display:"grid",gap:"$1",marginTop:"$1 $2",variants:{hasClips:{true:{gridTemplateColumns:"150px 18px 1fr"},false:{gridTemplateColumns:"$4_5 1fr"}}}});class m extends de{constructor(){super();c(this,"_spineAnimationRenderer");c(this,"_animationTrack");c(this,"_updateComponent");c(this,"playing",!1);c(this,"frameTime",0);c(this,"duration",0);c(this,"animationNames",[]);c(this,"skinNames",[]);c(this,"animationIndex",0);c(this,"skinIndex",0);c(this,"_size",{w:0,h:0});c(this,"overridePreviewer",q(({asset:e,viewer:n})=>{const i=e.getViewerRootEntity();return C.useEffect(()=>{this.skinIndex=0},[e]),C.useEffect(()=>{this._spineAnimationRenderer?this.updateViewAsset(e,i):this.setViewAsset(e,i)},[e.skeletonData]),A.jsxs(A.Fragment,{children:[A.jsx(z,{asset:e,viewer:n}),A.jsx(Ee,{selectedKey:this.skinIndex,clips:this.skinNames,onSelectClip:a=>{this.skinIndex=a,this.changeSkin(this.skinNames[a])}})]})}));B(this)}setViewAsset(e,n){if(!e.skeletonData){this.stopViewAsset();return}this.animationIndex=0,this.duration=0;const i=n.engine,a=e.skeletonData,o=n.createChild("spine-entity"),r=o.addComponent(v);this.animationNames=a.animations.map(R=>R.name),this.animationNames.unshift("none"),this.skinNames=a.skins.map(R=>R.name),this._entity=o,this._spineAnimationRenderer=r,r.resource=new T(i,a);const{width:u,height:l,x:y,y:p}=a;this._size={w:u,h:l};const h=y+u/2,f=p+l/2;o.transform.setPosition(-h/100,-f/100,0);const F=this;this._updateComponent=this._entity.addComponent(class extends U{onUpdate(){F._onUpdate()}})}updateViewAsset(e,n){if(!e.skeletonData){this.stopViewAsset();return}const i=n.engine,a=e.skeletonData;this.animationNames=a.animations.map(o=>o.name),this.animationNames.unshift("none"),this.skinNames=a.skins.map(o=>o.name),this._spineAnimationRenderer.resource=new T(i,a)}getSize(){return{width:this._size.w/100,height:this._size.h/100}}stopViewAsset(){var e;super.stopViewAsset(),this.playing=!1,this.frameTime=0,this.duration=0,this.animationNames=[],this.skinNames=[],this.animationIndex=0,this.skinIndex=0,this._spineAnimationRenderer&&(this._spineAnimationRenderer.enabled=!1),this._spineAnimationRenderer=null,(e=this._updateComponent)==null||e.destroy()}changeSkin(e){const{skeleton:n,state:i}=this._spineAnimationRenderer;n.setSkinByName(e),n.setSlotsToSetupPose(),i.apply(n)}selectAnimation(e){this.animationIndex=e;const n=this.animationNames[e];this.play(n)}play(e){let n;const{state:i}=this._spineAnimationRenderer;e==="none"?n=i.setEmptyAnimation(0,0):n=i.setAnimation(0,e,!0),this._animationTrack=n,this._spineAnimationRenderer.state.timeScale=1,this.playing=!0,this.duration=n.animationEnd}pauseAnimation(){this.pause()}playAnimation(){this._spineAnimationRenderer.state.timeScale=1}pause(){this._spineAnimationRenderer.state.timeScale=0,this.playing=!1}_onUpdate(){if(!this.playing)return;const e=this._animationTrack.trackTime%this.duration;this.frameTime=isNaN(e)?0:e}}d([g],m.prototype,"playing",2);d([g],m.prototype,"frameTime",2);d([g],m.prototype,"duration",2);d([g],m.prototype,"animationNames",2);d([g],m.prototype,"skinNames",2);d([g],m.prototype,"animationIndex",2);d([g],m.prototype,"skinIndex",2);d([k],m.prototype,"changeSkin",1);d([k],m.prototype,"selectAnimation",1);d([k],m.prototype,"play",1);d([k],m.prototype,"pauseAnimation",1);d([k],m.prototype,"playAnimation",1);d([k],m.prototype,"pause",1);d([k],m.prototype,"_onUpdate",1);function Ee({onSelectClip:t,clips:s,selectedKey:e}){return A.jsx(Oe,{hasClips:!!s.length,children:s.length>0&&A.jsx(V,{value:e,onValueChange:t,valueType:"number",size:"xs",sideOffset:8,children:s.map((n,i)=>n?A.jsx(M,{value:i,children:n},i):null)})})}var Ie=Object.defineProperty,je=Object.getOwnPropertyDescriptor,_=(t,s,e,n)=>{for(var i=n>1?void 0:n?je(s,e):s,a=t.length-1,o;a>=0;a--)(o=t[a])&&(i=(n?o(s,e,i):o(i))||i);return n&&i&&Ie(s,e,i),i};let S=class extends J{constructor(s){super(s);c(this,"_delOnSkeletonDel");c(this,"_delOnAtlasDel");c(this,"_hasInit",!1);c(this,"atlas",null);c(this,"skeletonRawData","");c(this,"skeletonData")}async initByMain(s){const e=await s.text();try{JSON.parse(e),this.skeletonRawData=e}catch{this.skeletonRawData=await s.arrayBuffer()}const n=this.meta,{atlas:i}=n;this.atlas=i;const a=await this.root.assetStore.getAssetByRef(i),o=E(this.skeletonRawData,a,!0);o&&this.createDragTempEntity(o)}createDragTempEntity(s){this.skeletonData=s;const e=new K(this.engine),n=e.addComponent(v);n.resource=new T(this.engine,this.skeletonData),this.setDragTempEntity(e)}instantiate(){if(!this.skeletonData)return;const s=this.root.sceneStore.createEntity(),e=this.getDragTempEntity(),{position:n,rotation:i}=e.transform,a={components:[{class:"SpineAnimationRenderer",id:L(),props:{resource:this.getCurrentRef(),priority:0,defaultConfig:{loop:!1,animationName:"none",skinName:"default"}}}],id:s.id,isActive:!0,isClone:!1,name:this.name?this.name:"spine",position:{x:n.x,y:n.y,z:n.z},rotation:{x:i.x,y:i.y,z:i.z},scale:{x:1,y:1,z:1}};return s.initByFile(a),s}};_([W({assetType:"SpineAtlas",label:w("asset.spine-atlas.title"),type:X.AssetPicker,onChange:async(t,s,e)=>{if(t._delOnAtlasDel&&(t._delOnAtlasDel(),t._delOnAtlasDel=null),e){let n=!0;t._hasInit?n=!1:t._hasInit=!0,t.skeletonData=E(t.skeletonRawData,e,n),t.skeletonData&&t.createDragTempEntity(t.skeletonData);const i=()=>{t._delOnSkeletonDel&&t._delOnSkeletonDel(),t._delOnSkeletonDel=null,t.skeletonData=null};e.on("delete",i),t._delOnSkeletonDel=()=>{e.off("delete",i)}}else t.skeletonData=null}}),Y()],S.prototype,"atlas",2);_([Q()],S.prototype,"skeletonRawData",2);_([g.ref],S.prototype,"skeletonData",2);S=_([G({type:"SpineSkeletonData",label:w("asset.spine-skeleton-data.title"),loaderType:"Spine",viewer:m,dragLayer:H.SpineSkeletonData,dragType:"2d",filterUploadFiles:we,importMenuConfig:{type:Z.Upload,accept:".json,.atlas,.skel,.png,.jpg,.jpeg,.webp",multiple:!0},bundle(t){return t.dependencies=ee(t.meta,["atlas"]),{content:t.content}}})],S);function E(t,s,e){if(!s)return null;try{return he.createSkeletonData(t,s.textureAtlas,.01)}catch{return!e&&te.error(w("spine.error.generate-skeleton-data")),null}}const Je=Object.freeze(Object.defineProperty({__proto__:null,get SpineSkeletonDataAsset(){return S}},Symbol.toStringTag,{value:"Module"}));export{S,Je as a,Me as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var f=Object.defineProperty;var c=(t,e,o)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var r=(t,e,o)=>(c(t,typeof e!="symbol"?e+"":e,o),o);import{s as m,aI as h,p as g,C as b,f as u}from"./index-aec7e708.js";import"./index-e8a45e82.js";import{c as d}from"./Component-ed7aa0ab.js";import"./postmen-2f47f6bb.js";import{L as P}from"./LightBaseComponent-12dc27d1.js";var y=Object.defineProperty,v=Object.getOwnPropertyDescriptor,i=(t,e,o,n)=>{for(var p=n>1?void 0:n?v(e,o):e,l=t.length-1,s;l>=0;l--)(s=t[l])&&(p=(n?s(e,o,p):s(p))||p);return n&&p&&y(e,o,p),p};let a=class extends P{constructor(e,o){super(e,o);r(this,"angle",20);r(this,"distance",60);r(this,"penumbra",60)}};i([m(h()),g({type:b.Slider,min:1,max:179,bindPath:"angle",label:"light.spot.angle.label",info:"light.spot.angle.info"}),u({getPath:"angle",getEditorValue:t=>t*180/Math.PI})],a.prototype,"angle",2);i([m(),g({type:b.Number,bindPath:"distance",label:"light.spot.distance.label",info:"light.spot.distance.info"})],a.prototype,"distance",2);i([m(h()),g({type:b.Slider,min:1,max:179,bindPath:"penumbra",label:"light.spot.penumbra.label",info:"light.spot.penumbra.info"}),u({getPath:"penumbra",getEditorValue:t=>t*180/Math.PI})],a.prototype,"penumbra",2);a=i([d({type:"SpotLight",componentsMenu:{group:"light",label:"component.light.spot.title"}})],a);export{a as SpotLightComponent};
|