@vyr/three-browser 0.0.1

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.
Files changed (102) hide show
  1. package/package.json +25 -0
  2. package/src/common/index.ts +2 -0
  3. package/src/common/provider.ts +14 -0
  4. package/src/common/validate.ts +10 -0
  5. package/src/fragment/GeoMapFragment.vue +129 -0
  6. package/src/fragment/InstancedMeshFragment.vue +29 -0
  7. package/src/fragment/MeshFragment.vue +98 -0
  8. package/src/fragment/ModelFragment.vue +28 -0
  9. package/src/fragment/NodeFragment.vue +93 -0
  10. package/src/fragment/ParticleFragment.vue +147 -0
  11. package/src/fragment/PointsFragment.vue +34 -0
  12. package/src/fragment/SpriteFragment.vue +38 -0
  13. package/src/fragment/TextFragment.vue +98 -0
  14. package/src/fragment/animation/AnimationActionFragment.vue +110 -0
  15. package/src/fragment/geometry/BoxGeometryFragment.vue +44 -0
  16. package/src/fragment/geometry/BufferGeometryFragment.vue +26 -0
  17. package/src/fragment/geometry/CircleGeometryFragment.vue +35 -0
  18. package/src/fragment/geometry/CylinderGeometryFragment.vue +60 -0
  19. package/src/fragment/geometry/ExtrudeGeometryFragment.vue +111 -0
  20. package/src/fragment/geometry/PlaneGeometryFragment.vue +35 -0
  21. package/src/fragment/geometry/RingGeometryFragment.vue +45 -0
  22. package/src/fragment/geometry/SphereGeometryFragment.vue +51 -0
  23. package/src/fragment/geometry/SurfaceGeometryFragment.vue +18 -0
  24. package/src/fragment/geometry/TubeGeometryFragment.vue +65 -0
  25. package/src/fragment/light/AmbientLightFragment.vue +27 -0
  26. package/src/fragment/light/DirectionalLightFragment.vue +86 -0
  27. package/src/fragment/light/HemisphereLightFragment.vue +34 -0
  28. package/src/fragment/light/PointLightFragment.vue +68 -0
  29. package/src/fragment/light/RectAreaLightFragment.vue +48 -0
  30. package/src/fragment/light/SpotLightFragment.vue +96 -0
  31. package/src/fragment/material/MaterialFragment.vue +53 -0
  32. package/src/fragment/material/MeshBasicMaterialFragment.vue +126 -0
  33. package/src/fragment/material/MeshPhongMaterialFragment.vue +263 -0
  34. package/src/fragment/material/MeshStandardMaterialFragment.vue +256 -0
  35. package/src/fragment/material/PointsMaterialFragment.vue +81 -0
  36. package/src/fragment/material/ShaderMaterialFragment.vue +61 -0
  37. package/src/fragment/material/ShadowMaterialFragment.vue +49 -0
  38. package/src/fragment/material/SpriteMaterialFragment.vue +79 -0
  39. package/src/fragment/texture/TextureFragment.vue +131 -0
  40. package/src/index.ts +4 -0
  41. package/src/locale/Language.ts +10 -0
  42. package/src/locale/LanguageProvider.ts +655 -0
  43. package/src/locale/index.ts +2 -0
  44. package/src/option/Animation.ts +17 -0
  45. package/src/option/Geometry.ts +22 -0
  46. package/src/option/Material.ts +42 -0
  47. package/src/option/Mesh.ts +10 -0
  48. package/src/option/Shadow.ts +18 -0
  49. package/src/option/Texture.ts +55 -0
  50. package/src/option/index.ts +6 -0
  51. package/src/service/footer/action/geometry/index.ts +73 -0
  52. package/src/service/footer/action/index.ts +9 -0
  53. package/src/service/footer/action/material/index.ts +70 -0
  54. package/src/service/footer/action/texture/index.ts +63 -0
  55. package/src/service/global/index.ts +1 -0
  56. package/src/service/global/scripts/index.ts +12 -0
  57. package/src/service/index.ts +79 -0
  58. package/src/service/inspector/GeoMapViewer.vue +32 -0
  59. package/src/service/inspector/HTMLConvertViewer.vue +31 -0
  60. package/src/service/inspector/InstanceMeshViewer.vue +33 -0
  61. package/src/service/inspector/MeshViewer.vue +33 -0
  62. package/src/service/inspector/ModelViewer.vue +34 -0
  63. package/src/service/inspector/NodeViewer.vue +30 -0
  64. package/src/service/inspector/ParticleViewer.vue +37 -0
  65. package/src/service/inspector/PerspectiveCameraViewer.vue +62 -0
  66. package/src/service/inspector/PointsViewer.vue +33 -0
  67. package/src/service/inspector/ServiceViewer.vue +92 -0
  68. package/src/service/inspector/SpriteViewer.vue +34 -0
  69. package/src/service/inspector/TextViewer.vue +34 -0
  70. package/src/service/inspector/animation/AnimationActionViewer.vue +31 -0
  71. package/src/service/inspector/geometry/BoxGeometryViewer.vue +32 -0
  72. package/src/service/inspector/geometry/BufferGeometryViewer.vue +33 -0
  73. package/src/service/inspector/geometry/CircleGeometryViewer.vue +32 -0
  74. package/src/service/inspector/geometry/CylinderGeometryViewer.vue +32 -0
  75. package/src/service/inspector/geometry/ExtrudeGeometryViewer.vue +32 -0
  76. package/src/service/inspector/geometry/PlaneGeometryViewer.vue +32 -0
  77. package/src/service/inspector/geometry/RingGeometryViewer.vue +32 -0
  78. package/src/service/inspector/geometry/SphereGeometryViewer.vue +32 -0
  79. package/src/service/inspector/geometry/SurfaceGeometryViewer.vue +32 -0
  80. package/src/service/inspector/geometry/TubeGeometryViewer.vue +32 -0
  81. package/src/service/inspector/index.ts +50 -0
  82. package/src/service/inspector/light/AmbientLightViewer.vue +33 -0
  83. package/src/service/inspector/light/DirectionalLightViewer.vue +33 -0
  84. package/src/service/inspector/light/HemisphereLightViewer.vue +33 -0
  85. package/src/service/inspector/light/PointLightViewer.vue +33 -0
  86. package/src/service/inspector/light/RectAreaLightViewer.vue +33 -0
  87. package/src/service/inspector/light/SpotLightViewer.vue +33 -0
  88. package/src/service/inspector/material/MeshBasicMaterialViewer.vue +34 -0
  89. package/src/service/inspector/material/MeshPhongMaterialViewer.vue +34 -0
  90. package/src/service/inspector/material/MeshStandardMaterialViewer.vue +34 -0
  91. package/src/service/inspector/material/PointsMaterialViewer.vue +33 -0
  92. package/src/service/inspector/material/ShaderMaterialViewer.vue +34 -0
  93. package/src/service/inspector/material/ShadowMaterialViewer.vue +34 -0
  94. package/src/service/inspector/material/SpriteMaterialViewer.vue +34 -0
  95. package/src/service/inspector/texture/TextureViewer.vue +32 -0
  96. package/src/service/sidebar/asset/action/AddAnimationAction.ts +66 -0
  97. package/src/service/sidebar/asset/action/AddLightAction.ts +66 -0
  98. package/src/service/sidebar/asset/action/index.ts +7 -0
  99. package/src/service/sidebar/scene/action/AddAnimationAction.ts +64 -0
  100. package/src/service/sidebar/scene/action/AddLightAction.ts +66 -0
  101. package/src/service/sidebar/scene/action/index.ts +7 -0
  102. package/src/shims-vue.d.ts +10 -0
@@ -0,0 +1,263 @@
1
+ <template>
2
+ <vyr-row>
3
+ <vyr-label :label="language.get('inspector.Material.color')">
4
+ <vyr-col>
5
+ <vyr-checked v-model="descriptor.colorWrite"></vyr-checked>
6
+ <vyr-color-picker v-model="descriptor.color.value" width="all"></vyr-color-picker>
7
+ </vyr-col>
8
+ </vyr-label>
9
+ </vyr-row>
10
+ <vyr-row>
11
+ <vyr-label :label="language.get('inspector.Material.map')">
12
+ <vyr-col>
13
+ <vyr-input v-model="descriptor.map" :clearable="true" :draggable="draggable" trigger="blur"
14
+ dragkey="map"></vyr-input>
15
+ </vyr-col>
16
+ </vyr-label>
17
+ </vyr-row>
18
+ <vyr-row>
19
+ <vyr-label :label="language.get('inspector.Material.refractionRatio')">
20
+ <vyr-col>
21
+ <vyr-input-number v-model="descriptor.refractionRatio" :clearable="false" :allow-null="false"
22
+ :default-value="0"></vyr-input-number>
23
+ </vyr-col>
24
+ </vyr-label>
25
+ </vyr-row>
26
+ <vyr-row>
27
+ <vyr-label :label="language.get('inspector.Material.transparent')">
28
+ <vyr-col>
29
+ <vyr-checked v-model="descriptor.transparent"></vyr-checked>
30
+ <vyr-input-number v-model="descriptor.color.opacity" :allow-null="false"></vyr-input-number>
31
+ </vyr-col>
32
+ </vyr-label>
33
+ </vyr-row>
34
+ <vyr-row>
35
+ <vyr-label :label="language.get('inspector.Material.alphaMap')">
36
+ <vyr-col>
37
+ <vyr-input v-model="descriptor.alphaMap" :clearable="true" :draggable="draggable" trigger="blur"
38
+ dragkey="alphaMap"></vyr-input>
39
+ </vyr-col>
40
+ </vyr-label>
41
+ </vyr-row>
42
+ <vyr-row>
43
+ <vyr-label :label="language.get('inspector.Material.alphaTest')">
44
+ <vyr-col>
45
+ <vyr-input-number v-model="descriptor.alphaTest" :allow-null="false"></vyr-input-number>
46
+ </vyr-col>
47
+ </vyr-label>
48
+ </vyr-row>
49
+ <vyr-row>
50
+ <vyr-label :label="language.get('inspector.Material.envMap')">
51
+ <vyr-col>
52
+ <vyr-input v-model="descriptor.envMap" :clearable="true" :draggable="draggable" trigger="blur"
53
+ dragkey="envMap"></vyr-input>
54
+ </vyr-col>
55
+ </vyr-label>
56
+ </vyr-row>
57
+ <vyr-row>
58
+ <vyr-label :label="language.get('inspector.Material.combine')">
59
+ <vyr-col>
60
+ <vyr-select v-model="descriptor.combine" :data="Material.combineOptions"></vyr-select>
61
+ </vyr-col>
62
+ </vyr-label>
63
+ </vyr-row>
64
+ <vyr-row>
65
+ <vyr-label :label="language.get('inspector.Material.reflectivity')">
66
+ <vyr-col>
67
+ <vyr-input-number v-model="descriptor.reflectivity" :allow-null="false"></vyr-input-number>
68
+ </vyr-col>
69
+ </vyr-label>
70
+ </vyr-row>
71
+ <vyr-row>
72
+ <vyr-label :label="language.get('inspector.Material.envMapRotation')">
73
+ <vyr-col :span="8">
74
+ <vyr-input-number v-model="descriptor.envMapRotation.x" :clearable="false" :allow-null="false"
75
+ :default-value="0"></vyr-input-number>
76
+ </vyr-col>
77
+ <vyr-col :span="8">
78
+ <vyr-input-number v-model="descriptor.envMapRotation.y" :clearable="false" :allow-null="false"
79
+ :default-value="0"></vyr-input-number>
80
+ </vyr-col>
81
+ <vyr-col :span="8">
82
+ <vyr-input-number v-model="descriptor.envMapRotation.z" :clearable="false" :allow-null="false"
83
+ :default-value="0"></vyr-input-number>
84
+ </vyr-col>
85
+ </vyr-label>
86
+ </vyr-row>
87
+ <vyr-row>
88
+ <vyr-label :label="language.get('inspector.Material.lightMap')">
89
+ <vyr-col>
90
+ <vyr-input v-model="descriptor.lightMap" :clearable="true" :draggable="draggable" trigger="blur"
91
+ dragkey="lightMap"></vyr-input>
92
+ </vyr-col>
93
+ </vyr-label>
94
+ </vyr-row>
95
+ <vyr-row>
96
+ <vyr-label :label="language.get('inspector.Material.lightMapIntensity')">
97
+ <vyr-col>
98
+ <vyr-input-number v-model="descriptor.lightMapIntensity" :allow-null="false"></vyr-input-number>
99
+ </vyr-col>
100
+ </vyr-label>
101
+ </vyr-row>
102
+ <vyr-row>
103
+ <vyr-label :label="language.get('inspector.Material.specularMap')">
104
+ <vyr-col>
105
+ <vyr-input v-model="descriptor.specularMap" :clearable="true" :draggable="draggable" trigger="blur"
106
+ dragkey="specularMap"></vyr-input>
107
+ </vyr-col>
108
+ </vyr-label>
109
+ </vyr-row>
110
+ <vyr-row>
111
+ <vyr-label :label="language.get('inspector.Material.specular')">
112
+ <vyr-col>
113
+ <vyr-color-picker v-model="descriptor.specular" width="all"></vyr-color-picker>
114
+ </vyr-col>
115
+ </vyr-label>
116
+ </vyr-row>
117
+ <vyr-row>
118
+ <vyr-label :label="language.get('inspector.Material.shininess')">
119
+ <vyr-col>
120
+ <vyr-input-number v-model="descriptor.shininess" :allow-null="false"></vyr-input-number>
121
+ </vyr-col>
122
+ </vyr-label>
123
+ </vyr-row>
124
+
125
+ <vyr-row>
126
+ <vyr-label :label="language.get('inspector.Material.aoMap')">
127
+ <vyr-col>
128
+ <vyr-input v-model="descriptor.aoMap" :clearable="true" :draggable="draggable" trigger="blur"
129
+ dragkey="aoMap"></vyr-input>
130
+ </vyr-col>
131
+ </vyr-label>
132
+ </vyr-row>
133
+ <vyr-row>
134
+ <vyr-label :label="language.get('inspector.Material.aoMapIntensity')">
135
+ <vyr-col>
136
+ <vyr-input-number v-model="descriptor.aoMapIntensity" :allow-null="false"></vyr-input-number>
137
+ </vyr-col>
138
+ </vyr-label>
139
+ </vyr-row>
140
+ <vyr-row>
141
+ <vyr-label :label="language.get('inspector.Material.bumpMap')">
142
+ <vyr-col>
143
+ <vyr-input v-model="descriptor.bumpMap" :clearable="true" :draggable="draggable" trigger="blur"
144
+ dragkey="bumpMap"></vyr-input>
145
+ </vyr-col>
146
+ </vyr-label>
147
+ </vyr-row>
148
+ <vyr-row>
149
+ <vyr-label :label="language.get('inspector.Material.bumpScale')">
150
+ <vyr-col>
151
+ <vyr-input-number v-model="descriptor.bumpScale" :allow-null="false"></vyr-input-number>
152
+ </vyr-col>
153
+ </vyr-label>
154
+ </vyr-row>
155
+ <vyr-row>
156
+ <vyr-label :label="language.get('inspector.Material.displacementMap')">
157
+ <vyr-col>
158
+ <vyr-input v-model="descriptor.displacementMap" :clearable="true" :draggable="draggable" trigger="blur"
159
+ dragkey="displacementMap"></vyr-input>
160
+ </vyr-col>
161
+ </vyr-label>
162
+ </vyr-row>
163
+ <vyr-row>
164
+ <vyr-label :label="language.get('inspector.Material.displacementScale')">
165
+ <vyr-col>
166
+ <vyr-input-number v-model="descriptor.displacementScale" :allow-null="false"></vyr-input-number>
167
+ </vyr-col>
168
+ </vyr-label>
169
+ </vyr-row>
170
+ <vyr-row>
171
+ <vyr-label :label="language.get('inspector.Material.displacementBias')">
172
+ <vyr-col>
173
+ <vyr-input-number v-model="descriptor.displacementBias" :allow-null="false"></vyr-input-number>
174
+ </vyr-col>
175
+ </vyr-label>
176
+ </vyr-row>
177
+ <vyr-row>
178
+ <vyr-label :label="language.get('inspector.Material.emissive')">
179
+ <vyr-col>
180
+ <vyr-color-picker v-model="descriptor.emissive" width="all"></vyr-color-picker>
181
+ </vyr-col>
182
+ </vyr-label>
183
+ </vyr-row>
184
+ <vyr-row>
185
+ <vyr-label :label="language.get('inspector.Material.emissiveMap')">
186
+ <vyr-col>
187
+ <vyr-input v-model="descriptor.emissiveMap" :clearable="true" :draggable="draggable" trigger="blur"
188
+ dragkey="emissiveMap"></vyr-input>
189
+ </vyr-col>
190
+ </vyr-label>
191
+ </vyr-row>
192
+ <vyr-row>
193
+ <vyr-label :label="language.get('inspector.Material.emissiveIntensity')">
194
+ <vyr-col>
195
+ <vyr-input-number v-model="descriptor.emissiveIntensity" :allow-null="false"></vyr-input-number>
196
+ </vyr-col>
197
+ </vyr-label>
198
+ </vyr-row>
199
+ <vyr-row>
200
+ <vyr-label :label="language.get('inspector.Material.normalMap')">
201
+ <vyr-col>
202
+ <vyr-input v-model="descriptor.normalMap" :clearable="true" :draggable="draggable" trigger="blur"
203
+ dragkey="normalMap"></vyr-input>
204
+ </vyr-col>
205
+ </vyr-label>
206
+ </vyr-row>
207
+ <vyr-row>
208
+ <vyr-label :label="language.get('inspector.Material.normalMapType')">
209
+ <vyr-col>
210
+ <vyr-select v-model="descriptor.normalMapType" :data="Material.normalTypeOptions"></vyr-select>
211
+ </vyr-col>
212
+ </vyr-label>
213
+ </vyr-row>
214
+ <vyr-row>
215
+ <vyr-label :label="language.get('inspector.Material.normalScale')">
216
+ <vyr-col :span="12">
217
+ <vyr-input-number v-model="descriptor.normalScale.x" :allow-null="false"></vyr-input-number>
218
+ </vyr-col>
219
+ <vyr-col :span="12">
220
+ <vyr-input-number v-model="descriptor.normalScale.y" :allow-null="false"></vyr-input-number>
221
+ </vyr-col>
222
+ </vyr-label>
223
+ </vyr-row>
224
+ <vyr-row>
225
+ <vyr-label :label="language.get('inspector.Material.fog')">
226
+ <vyr-col>
227
+ <vyr-select v-model="descriptor.fog" :data="option.stateOptions"></vyr-select>
228
+ </vyr-col>
229
+ </vyr-label>
230
+ </vyr-row>
231
+ <vyr-row>
232
+ <vyr-label :label="language.get('inspector.Material.flatShading')">
233
+ <vyr-col>
234
+ <vyr-select v-model="descriptor.flatShading" :data="option.stateOptions"></vyr-select>
235
+ </vyr-col>
236
+ </vyr-label>
237
+ </vyr-row>
238
+ <vyr-row>
239
+ <vyr-label :label="language.get('inspector.Material.wireframe')">
240
+ <vyr-col>
241
+ <vyr-select v-model="descriptor.wireframe" :data="option.stateOptions"></vyr-select>
242
+ </vyr-col>
243
+ </vyr-label>
244
+ </vyr-row>
245
+ </template>
246
+
247
+
248
+ <script lang="ts" setup>
249
+ import { computed } from 'vue'
250
+ import { DraggableService, runtime } from '@vyr/runtime';
251
+ import { MeshPhongMaterialDescriptor } from '@vyr/three';
252
+ import { VyrInput, VyrRow, VyrCol, VyrLabel, VyrChecked, VyrColorPicker, VyrInputNumber, VyrSelect } from '@vyr/design';
253
+ import { option } from '@vyr/builtin'
254
+ import { language } from '../../locale'
255
+ import { useDescriptor } from '../../common';
256
+ import { Material } from '../../option';
257
+
258
+ const draggableService = runtime.get<DraggableService>('draggable')
259
+ const draggable = computed(() => draggableService.get(draggableService.key.inspector))
260
+ const descriptor = useDescriptor<MeshPhongMaterialDescriptor>()
261
+ </script>
262
+
263
+ <style lang="less" scoped></style>
@@ -0,0 +1,256 @@
1
+ <template>
2
+ <vyr-row>
3
+ <vyr-label :label="language.get('inspector.Material.color')">
4
+ <vyr-col>
5
+ <vyr-checked v-model="descriptor.colorWrite"></vyr-checked>
6
+ <vyr-color-picker v-model="descriptor.color.value" width="all"></vyr-color-picker>
7
+ </vyr-col>
8
+ </vyr-label>
9
+ </vyr-row>
10
+ <vyr-row>
11
+ <vyr-label :label="language.get('inspector.Material.map')">
12
+ <vyr-col>
13
+ <vyr-input v-model="descriptor.map" :clearable="true" :draggable="draggable" trigger="blur"
14
+ dragkey="map"></vyr-input>
15
+ </vyr-col>
16
+ </vyr-label>
17
+ </vyr-row>
18
+ <vyr-row>
19
+ <vyr-label :label="language.get('inspector.Material.transparent')">
20
+ <vyr-col>
21
+ <vyr-checked v-model="descriptor.transparent"></vyr-checked>
22
+ <vyr-input-number v-model="descriptor.color.opacity" :allow-null="false"></vyr-input-number>
23
+ </vyr-col>
24
+ </vyr-label>
25
+ </vyr-row>
26
+ <vyr-row>
27
+ <vyr-label :label="language.get('inspector.Material.alphaMap')">
28
+ <vyr-col>
29
+ <vyr-input v-model="descriptor.alphaMap" :clearable="true" :draggable="draggable" trigger="blur"
30
+ dragkey="alphaMap"></vyr-input>
31
+ </vyr-col>
32
+ </vyr-label>
33
+ </vyr-row>
34
+ <vyr-row>
35
+ <vyr-label :label="language.get('inspector.Material.alphaTest')">
36
+ <vyr-col>
37
+ <vyr-input-number v-model="descriptor.alphaTest" :allow-null="false"></vyr-input-number>
38
+ </vyr-col>
39
+ </vyr-label>
40
+ </vyr-row>
41
+ <vyr-row>
42
+ <vyr-label :label="language.get('inspector.Material.envMap')">
43
+ <vyr-col>
44
+ <vyr-input v-model="descriptor.envMap" :clearable="true" :draggable="draggable" trigger="blur"
45
+ dragkey="envMap"></vyr-input>
46
+ </vyr-col>
47
+ </vyr-label>
48
+ </vyr-row>
49
+ <vyr-row>
50
+ <vyr-label :label="language.get('inspector.Material.envMapIntensity')">
51
+ <vyr-col>
52
+ <vyr-input-number v-model="descriptor.envMapIntensity" :allow-null="false"></vyr-input-number>
53
+ </vyr-col>
54
+ </vyr-label>
55
+ </vyr-row>
56
+ <vyr-row>
57
+ <vyr-label :label="language.get('inspector.Material.envMapRotation')">
58
+ <vyr-col :span="8">
59
+ <vyr-input-number v-model="descriptor.envMapRotation.x" :clearable="false" :allow-null="false"
60
+ :default-value="0"></vyr-input-number>
61
+ </vyr-col>
62
+ <vyr-col :span="8">
63
+ <vyr-input-number v-model="descriptor.envMapRotation.y" :clearable="false" :allow-null="false"
64
+ :default-value="0"></vyr-input-number>
65
+ </vyr-col>
66
+ <vyr-col :span="8">
67
+ <vyr-input-number v-model="descriptor.envMapRotation.z" :clearable="false" :allow-null="false"
68
+ :default-value="0"></vyr-input-number>
69
+ </vyr-col>
70
+ </vyr-label>
71
+ </vyr-row>
72
+ <vyr-row>
73
+ <vyr-label :label="language.get('inspector.Material.lightMap')">
74
+ <vyr-col>
75
+ <vyr-input v-model="descriptor.lightMap" :clearable="true" :draggable="draggable" trigger="blur"
76
+ dragkey="lightMap"></vyr-input>
77
+ </vyr-col>
78
+ </vyr-label>
79
+ </vyr-row>
80
+ <vyr-row>
81
+ <vyr-label :label="language.get('inspector.Material.lightMapIntensity')">
82
+ <vyr-col>
83
+ <vyr-input-number v-model="descriptor.lightMapIntensity" :allow-null="false"></vyr-input-number>
84
+ </vyr-col>
85
+ </vyr-label>
86
+ </vyr-row>
87
+
88
+ <vyr-row>
89
+ <vyr-label :label="language.get('inspector.Material.aoMap')">
90
+ <vyr-col>
91
+ <vyr-input v-model="descriptor.aoMap" :clearable="true" :draggable="draggable" trigger="blur"
92
+ dragkey="aoMap"></vyr-input>
93
+ </vyr-col>
94
+ </vyr-label>
95
+ </vyr-row>
96
+ <vyr-row>
97
+ <vyr-label :label="language.get('inspector.Material.aoMapIntensity')">
98
+ <vyr-col>
99
+ <vyr-input-number v-model="descriptor.aoMapIntensity" :allow-null="false"></vyr-input-number>
100
+ </vyr-col>
101
+ </vyr-label>
102
+ </vyr-row>
103
+ <vyr-row>
104
+ <vyr-label :label="language.get('inspector.Material.bumpMap')">
105
+ <vyr-col>
106
+ <vyr-input v-model="descriptor.bumpMap" :clearable="true" :draggable="draggable" trigger="blur"
107
+ dragkey="bumpMap"></vyr-input>
108
+ </vyr-col>
109
+ </vyr-label>
110
+ </vyr-row>
111
+ <vyr-row>
112
+ <vyr-label :label="language.get('inspector.Material.bumpScale')">
113
+ <vyr-col>
114
+ <vyr-input-number v-model="descriptor.bumpScale" :allow-null="false"></vyr-input-number>
115
+ </vyr-col>
116
+ </vyr-label>
117
+ </vyr-row>
118
+ <vyr-row>
119
+ <vyr-label :label="language.get('inspector.Material.displacementMap')">
120
+ <vyr-col>
121
+ <vyr-input v-model="descriptor.displacementMap" :clearable="true" :draggable="draggable" trigger="blur"
122
+ dragkey="displacementMap"></vyr-input>
123
+ </vyr-col>
124
+ </vyr-label>
125
+ </vyr-row>
126
+ <vyr-row>
127
+ <vyr-label :label="language.get('inspector.Material.displacementScale')">
128
+ <vyr-col>
129
+ <vyr-input-number v-model="descriptor.displacementScale" :allow-null="false"></vyr-input-number>
130
+ </vyr-col>
131
+ </vyr-label>
132
+ </vyr-row>
133
+ <vyr-row>
134
+ <vyr-label :label="language.get('inspector.Material.displacementBias')">
135
+ <vyr-col>
136
+ <vyr-input-number v-model="descriptor.displacementBias" :allow-null="false"></vyr-input-number>
137
+ </vyr-col>
138
+ </vyr-label>
139
+ </vyr-row>
140
+ <vyr-row>
141
+ <vyr-label :label="language.get('inspector.Material.emissive')">
142
+ <vyr-col>
143
+ <vyr-color-picker v-model="descriptor.emissive" width="all"></vyr-color-picker>
144
+ </vyr-col>
145
+ </vyr-label>
146
+ </vyr-row>
147
+ <vyr-row>
148
+ <vyr-label :label="language.get('inspector.Material.emissiveMap')">
149
+ <vyr-col>
150
+ <vyr-input v-model="descriptor.emissiveMap" :clearable="true" :draggable="draggable" trigger="blur"
151
+ dragkey="emissiveMap"></vyr-input>
152
+ </vyr-col>
153
+ </vyr-label>
154
+ </vyr-row>
155
+ <vyr-row>
156
+ <vyr-label :label="language.get('inspector.Material.emissiveIntensity')">
157
+ <vyr-col>
158
+ <vyr-input-number v-model="descriptor.emissiveIntensity" :allow-null="false"></vyr-input-number>
159
+ </vyr-col>
160
+ </vyr-label>
161
+ </vyr-row>
162
+ <vyr-row>
163
+ <vyr-label :label="language.get('inspector.Material.metalnessMap')">
164
+ <vyr-col>
165
+ <vyr-input v-model="descriptor.metalnessMap" :clearable="true" :draggable="draggable" trigger="blur"
166
+ dragkey="metalnessMap"></vyr-input>
167
+ </vyr-col>
168
+ </vyr-label>
169
+ </vyr-row>
170
+ <vyr-row>
171
+ <vyr-label :label="language.get('inspector.Material.metalness')">
172
+ <vyr-col>
173
+ <vyr-input-number v-model="descriptor.metalness" :allow-null="false"></vyr-input-number>
174
+ </vyr-col>
175
+ </vyr-label>
176
+ </vyr-row>
177
+ <vyr-row>
178
+ <vyr-label :label="language.get('inspector.Material.normalMap')">
179
+ <vyr-col>
180
+ <vyr-input v-model="descriptor.normalMap" :clearable="true" :draggable="draggable" trigger="blur"
181
+ dragkey="normalMap"></vyr-input>
182
+ </vyr-col>
183
+ </vyr-label>
184
+ </vyr-row>
185
+ <vyr-row>
186
+ <vyr-label :label="language.get('inspector.Material.normalMapType')">
187
+ <vyr-col>
188
+ <vyr-select v-model="descriptor.normalMapType" :data="Material.normalTypeOptions"></vyr-select>
189
+ </vyr-col>
190
+ </vyr-label>
191
+ </vyr-row>
192
+ <vyr-row>
193
+ <vyr-label :label="language.get('inspector.Material.normalScale')">
194
+ <vyr-col :span="12">
195
+ <vyr-input-number v-model="descriptor.normalScale.x" :allow-null="false"></vyr-input-number>
196
+ </vyr-col>
197
+ <vyr-col :span="12">
198
+ <vyr-input-number v-model="descriptor.normalScale.y" :allow-null="false"></vyr-input-number>
199
+ </vyr-col>
200
+ </vyr-label>
201
+ </vyr-row>
202
+ <vyr-row>
203
+ <vyr-label :label="language.get('inspector.Material.roughnessMap')">
204
+ <vyr-col>
205
+ <vyr-input v-model="descriptor.roughnessMap" :clearable="true" :draggable="draggable" trigger="blur"
206
+ dragkey="roughnessMap"></vyr-input>
207
+ </vyr-col>
208
+ </vyr-label>
209
+ </vyr-row>
210
+ <vyr-row>
211
+ <vyr-label :label="language.get('inspector.Material.roughness')">
212
+ <vyr-col>
213
+ <vyr-input-number v-model="descriptor.roughness" :allow-null="false"></vyr-input-number>
214
+ </vyr-col>
215
+ </vyr-label>
216
+ </vyr-row>
217
+ <vyr-row>
218
+ <vyr-label :label="language.get('inspector.Material.fog')">
219
+ <vyr-col>
220
+ <vyr-select v-model="descriptor.fog" :data="option.stateOptions"></vyr-select>
221
+ </vyr-col>
222
+ </vyr-label>
223
+ </vyr-row>
224
+ <vyr-row>
225
+ <vyr-label :label="language.get('inspector.Material.flatShading')">
226
+ <vyr-col>
227
+ <vyr-select v-model="descriptor.flatShading" :data="option.stateOptions"></vyr-select>
228
+ </vyr-col>
229
+ </vyr-label>
230
+ </vyr-row>
231
+ <vyr-row>
232
+ <vyr-label :label="language.get('inspector.Material.wireframe')">
233
+ <vyr-col>
234
+ <vyr-select v-model="descriptor.wireframe" :data="option.stateOptions"></vyr-select>
235
+ </vyr-col>
236
+ </vyr-label>
237
+ </vyr-row>
238
+ </template>
239
+
240
+
241
+ <script lang="ts" setup>
242
+ import { computed } from 'vue'
243
+ import { DraggableService, runtime } from '@vyr/runtime';
244
+ import { MeshStandardMaterialDescriptor } from '@vyr/three';
245
+ import { VyrInput, VyrRow, VyrCol, VyrLabel, VyrChecked, VyrColorPicker, VyrInputNumber, VyrSelect } from '@vyr/design';
246
+ import { option } from '@vyr/builtin'
247
+ import { language } from '../../locale'
248
+ import { useDescriptor } from '../../common';
249
+ import { Material } from '../../option';
250
+
251
+ const draggableService = runtime.get<DraggableService>('draggable')
252
+ const draggable = computed(() => draggableService.get(draggableService.key.inspector))
253
+ const descriptor = useDescriptor<MeshStandardMaterialDescriptor>()
254
+ </script>
255
+
256
+ <style lang="less" scoped></style>
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <slot></slot>
3
+ <vyr-row>
4
+ <vyr-label :label="language.get('inspector.Material.color')">
5
+ <vyr-col>
6
+ <vyr-checked v-model="descriptor.colorWrite"></vyr-checked>
7
+ <vyr-color-picker v-model="descriptor.color.value" width="all"></vyr-color-picker>
8
+ </vyr-col>
9
+ </vyr-label>
10
+ </vyr-row>
11
+ <vyr-row>
12
+ <vyr-label :label="language.get('inspector.Material.map')">
13
+ <vyr-col>
14
+ <vyr-input v-model="descriptor.map" :clearable="true" :draggable="draggable" trigger="blur"
15
+ dragkey="map"></vyr-input>
16
+ </vyr-col>
17
+ </vyr-label>
18
+ </vyr-row>
19
+ <vyr-row>
20
+ <vyr-label :label="language.get('inspector.Material.transparent')">
21
+ <vyr-col>
22
+ <vyr-checked v-model="descriptor.transparent"></vyr-checked>
23
+ <vyr-input-number v-model="descriptor.color.opacity" :allow-null="false"></vyr-input-number>
24
+ </vyr-col>
25
+ </vyr-label>
26
+ </vyr-row>
27
+ <vyr-row>
28
+ <vyr-label :label="language.get('inspector.Material.alphaMap')">
29
+ <vyr-col>
30
+ <vyr-input v-model="descriptor.alphaMap" :clearable="true" :draggable="draggable" trigger="blur"
31
+ dragkey="alphaMap"></vyr-input>
32
+ </vyr-col>
33
+ </vyr-label>
34
+ </vyr-row>
35
+ <vyr-row>
36
+ <vyr-label :label="language.get('inspector.Material.alphaTest')">
37
+ <vyr-col>
38
+ <vyr-input-number v-model="descriptor.alphaTest" :allow-null="false"></vyr-input-number>
39
+ </vyr-col>
40
+ </vyr-label>
41
+ </vyr-row>
42
+ <vyr-row v-if="sizable !== false">
43
+ <vyr-label :label="language.get('inspector.Material.size')">
44
+ <vyr-col>
45
+ <vyr-input-number v-model="descriptor.size" :allow-null="false"></vyr-input-number>
46
+ </vyr-col>
47
+ </vyr-label>
48
+ </vyr-row>
49
+ <vyr-row>
50
+ <vyr-label :label="language.get('inspector.Material.sizeAttenuation')">
51
+ <vyr-col>
52
+ <vyr-select v-model="descriptor.sizeAttenuation" :data="option.stateOptions"></vyr-select>
53
+ </vyr-col>
54
+ </vyr-label>
55
+ </vyr-row>
56
+ <vyr-row>
57
+ <vyr-label :label="language.get('inspector.Material.fog')">
58
+ <vyr-col>
59
+ <vyr-select v-model="descriptor.fog" :data="option.stateOptions"></vyr-select>
60
+ </vyr-col>
61
+ </vyr-label>
62
+ </vyr-row>
63
+ </template>
64
+
65
+ <script lang="ts" setup>
66
+ import { computed } from 'vue'
67
+ import { DraggableService, runtime } from '@vyr/runtime';
68
+ import { PointsMaterialDescriptor } from '@vyr/three';
69
+ import { VyrInput, VyrRow, VyrCol, VyrLabel, VyrChecked, VyrColorPicker, VyrInputNumber, VyrSelect } from '@vyr/design';
70
+ import { option } from '@vyr/builtin'
71
+ import { language } from '../../locale'
72
+ import { useDescriptor } from '../../common';
73
+
74
+ defineProps<{ sizable?: boolean }>()
75
+ const draggableService = runtime.get<DraggableService>('draggable')
76
+ const draggable = computed(() => draggableService.get(draggableService.key.inspector))
77
+ const descriptor = useDescriptor<PointsMaterialDescriptor>()
78
+
79
+ </script>
80
+
81
+ <style lang="less" scoped></style>
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <vyr-row>
3
+ <vyr-label :label="language.get('inspector.Material.transparent')">
4
+ <vyr-col>
5
+ <vyr-select v-model="descriptor.transparent" :data="option.stateOptions"></vyr-select>
6
+ </vyr-col>
7
+ </vyr-label>
8
+ </vyr-row>
9
+ <vyr-row>
10
+ <vyr-label :label="language.get('inspector.Material.shader')">
11
+ <vyr-col>
12
+ <vyr-input v-model="descriptor.shader" :clearable="true" :draggable="draggable" dragkey="shader"
13
+ trigger="blur"></vyr-input>
14
+ </vyr-col>
15
+ </vyr-label>
16
+ </vyr-row>
17
+ <vyr-row>
18
+ <vyr-label :label="language.get('inspector.Material.lights')">
19
+ <vyr-col>
20
+ <vyr-select v-model="descriptor.lights" :data="option.stateOptions"></vyr-select>
21
+ </vyr-col>
22
+ </vyr-label>
23
+ </vyr-row>
24
+ <vyr-row>
25
+ <vyr-label :label="language.get('inspector.Material.fog')">
26
+ <vyr-col>
27
+ <vyr-select v-model="descriptor.fog" :data="option.stateOptions"></vyr-select>
28
+ </vyr-col>
29
+ </vyr-label>
30
+ </vyr-row>
31
+ <vyr-row>
32
+ <vyr-label :label="language.get('inspector.Material.flatShading')">
33
+ <vyr-col>
34
+ <vyr-select v-model="descriptor.flatShading" :data="option.stateOptions"></vyr-select>
35
+ </vyr-col>
36
+ </vyr-label>
37
+ </vyr-row>
38
+ <vyr-row>
39
+ <vyr-label :label="language.get('inspector.Material.wireframe')">
40
+ <vyr-col>
41
+ <vyr-select v-model="descriptor.wireframe" :data="option.stateOptions"></vyr-select>
42
+ </vyr-col>
43
+ </vyr-label>
44
+ </vyr-row>
45
+ </template>
46
+
47
+ <script lang="ts" setup>
48
+ import { computed } from 'vue'
49
+ import { DraggableService, runtime } from '@vyr/runtime';
50
+ import { ShaderMaterialDescriptor } from '@vyr/three';
51
+ import { VyrRow, VyrCol, VyrLabel, VyrInput, VyrSelect } from '@vyr/design';
52
+ import { option } from '@vyr/builtin'
53
+ import { language } from '../../locale'
54
+ import { useDescriptor } from '../../common';
55
+
56
+ const draggableService = runtime.get<DraggableService>('draggable')
57
+ const draggable = computed(() => draggableService.get(draggableService.key.inspector))
58
+ const descriptor = useDescriptor<ShaderMaterialDescriptor>()
59
+ </script>
60
+
61
+ <style lang="less" scoped></style>