Un element 3D repraesentat obiecta tridimensionala in tuo projecto, includente modelos 3D importatos, geometriae primitives basicas, formas extruditas ex formis 2D, textum 3D, et resultata operationum booleanarum.
Elementa 3D communia campa communia ex Elementum Basic et Elementum View communicant, dum etiam proprietates 3D-specificas addit.
| Proprietas | Typus | Requiritur | Exemplum | Ambitus Valoris | Descriptio |
|---|---|---|---|---|---|
| type | string | true | - | 3D | Genus elementorum. Pro elementis 3D, hoc semper est "3D". |
| sourceId | string | false | - | - | Identificator internus pro modelo 3D vel fonte geometriae. |
| ext | string | false | - | glb | gltf | fbx | obj | geometry | primitive | text3d | parametric | curve | Extensio file vel genus nodi elementorum 3D. |
| externalUrl | string | false | - | - | URL optativus pro onere modelorum externorum glTF/glb. Machina modelum captabit et cachabit. |
| nodeType | string | false | - | primitive | geometry | text3d | import | model | parametric | curve | Genus nodi 3D. Determinat structuram proprietatum additivarum. |
| category | string | false | - | For primitive/geometry: basic | polyhedron. For parametric: extrusion | lathe | sweep. For curve: helix | torusKnot | custom | Sub-categoria nodi 3D. Valores praesto dependent a nodeType. |
| geometryType | string | false | - | - | Genus geometriae basicae. Vide sectionem "Geometry Types" infra. |
| originalWidth | number | false | - | - | Latitudo originalis modelis 3D in unitatibus mundi. |
| originalHeight | number | false | - | - | Altitudo originalis modelis 3D in unitatibus mundi. |
| originalDepth | number | false | - | - | Profunditas originalis modelis 3D in unitatibus mundi. |
| animation | object | false | - | - | Proprietates animationis pro modelis glTF cum animationibus. Continet currentIndex, speed, et loop proprietates. |
Praeter proprietates transform standardas 2D (x, y, rotatio, scalaX, scalaY), elementa 3D proprietates transform additivas pro positione et rotatione tridimensionali sustinent:
| Proprietas | Typus | Requiritur | Exemplum | Ambitus Valoris | Descriptio |
|---|---|---|---|---|---|
| z | number | false | - | - | Positio profunditatis elementorum in spatio 3D. Unitas sunt alignatae cum pixelibus, ubi z=0 respondet plano canvas. |
| rotationX | number | false | - | - | Rotatio circa axem X, in gradibus. |
| rotationY | number | false | - | - | Rotatio circa axem Y, in gradibus. |
| scaleZ | number | false | - | > 0 | Factor scalae per axem Z. Valores > 1 augent, valores inter 0 et 1 contrahunt. |
Campum geometryType specificat genus geometriae 3D basicae. Genera praesto per categorias ordinantur (specificata per campum category cum nodeType est "geometry" vel "primitive"):
Nota:
nodeType: "primitive"est alias pro"geometry". Ambo sustinentur et identice se gerunt.
Basic Shapes (category: "basic"):
cube - Cubus sex-facialissphere - Geometria sphericacylinder - Geometria cylindricacone - Geometria conicatorus - Geometria donut-formiscapsule - Geometria pilulae-formisdisc - Discus circularis planusPolyhedrons (category: "polyhedron"):
pyramid - Pyramidis quattuor-facialisoctahedron - Polyhedron octo-facialicosahedron - Polyhedron viginti-facialdodecahedron - Polyhedron duodecim-facialhexPrism - Prismma sex-facialetriangle - Prismma triangulareNodi parametrici (nodeType: "parametric") geometriae procedurali generant:
Extrusion (category: "extrusion"):
Lathe (category: "lathe"):
Sweep (category: "sweep"):
Nodi curvae (nodeType: "curve") creant curvas et vias 3D:
Helix (category: "helix"):
Torus Knot (category: "torusKnot"):
Custom (category: "custom"):
Operationes topologicas (boolean, array, mirror, compound) in editori peraguntur et output geometriae standardis producunt. Hae operationes tempore edendi applicantur et non requirunt tractationem specialem in API render.
Elementa 3D creari possunt per extrusionem formarum 2D. Cum convertis elementa formae 2D ad 3D in editori, generat novum type: "3D" elementum cum sequentibus campis additibus:
| Proprietas | Typus | Requiritur | Exemplum | Ambitus Valoris | Descriptio |
|---|---|---|---|---|---|
| extrusionSource | object | false | - | - | Data formae 2D originalis ad creandum extrusionem 3D. Continet completum ShapeNodeData. |
| shapeSizeX | number | false | - | - | Latitudo formae extruditae, in pixelibus. |
| shapeSizeY | number | false | - | - | Altitudo formae extruditae, in pixelibus. |
| shapeExtrusion | number | false | - | - | Profunditas extrusionis per axem Z, in pixelibus. |
| shapeCorner | string | false | - | round | chamfer | straight | Genus anguli pro formis extruditis. |
| shapeRoundnessSmooth | number | false | - | 0 - 1 | Lenitudo angulorum rotundorum (0-1). |
| shapeRoundnessArc | number | false | - | - | Radius arcus pro angulis rotundis. |
| shapeBevel | number | false | - | - | Profunditas bevel pro angulis. |
| shapeBevelSides | number | false | - | - | Numerus segmentorum pro angulis bevel. |
Elementa 3D etiam textum tridimensionalem cum profunditate et beveling repraesentare possunt:
| Proprietas | Typus | Requiritur | Exemplum | Ambitus Valoris | Descriptio |
|---|---|---|---|---|---|
| textContent | string | false | - | - | Contentum textus ad renderandum in 3D. |
| textStyle3D | object | false | - | - | Proprietates stylorum textus (font, magnitudo, pondus, etc.). Reutlizes aliquas camporum stylorum textus 2D. |
| textDepth | number | false | - | - | Profunditas extrusionis textus 3D. |
| textBevelSize | number | false | - | - | Magnitudo bevel in angulis textus. |
| textBevelSegments | number | false | - | - | Numerus segmentorum pro beveling textus. |
| textCurveSegments | number | false | - | - | Numerus segmentorum pro curvis textus. |
Elementa 3D systema materiae PBR (Physically Based Rendering) cum comprehensiva textura supporto utuntur:
| Proprietas | Typus | Requiritur | Exemplum | Ambitus Valoris | Descriptio |
|---|---|---|---|---|---|
| material | object | false | - | - | Configuratio completa materiae inclusa proprietatibus PBR et mapis texturae. |
Objectum material continet:
physicalMaterialData - Proprietates materiae PBR:
color (string) - Color basis in formato hex, default: '#818cf8'roughness (number) - Rugositas superficiei, 0-1, default: 0.4metalness (number) - Proprietas metallicum, 0-1, default: 0.0opacity (number) - Opacitas materiae, 0-1, default: 1.0transmission (number) - Transmissio lucis pro materiis similes vitri, 0-1, default: 0.0ior (number) - Index refractionis, typice 1.0-2.5, default: 1.5clearcoat (number) - Intensitas strati clear coating, 0-1, default: 0.0clearcoatRoughness (number) - Rugositas clear coat, 0-1, default: 0.0sheen (number) - Effectus sheen similis textili, 0-1, default: 0.0sheenRoughness (number) - Rugositas sheen, 0-1, default: 0.0sheenColor (string) - Color tint sheenthickness (number) - Crassitudo materiae pro transmissionematerialXPath (string) - Via praestituta MaterialX optativa:
Texture Maps - Objectum materiae potest continere URLs maparum texturae:
colorMap - Color basis/textura diffusanormalMap - Mappa normalis pro detail superficieiroughnessMap - Textura rugositasmetalnessMap - Textura metalnessaoMap - Mappa occlusionis ambientisemissiveMap - Textura emissiva/luceMappa texturae applicantur utens functionibus TSL (Three.js Shading Language) pro optima performance.
Elementa 3D cum nodeType: "model" vel nodeType: "import" repraesentant modelos 3D importatos:
Nota:
nodeType: "import"est alias pro"model". Ambo sustinentur et identice se gerunt.
source.url ad specificandum URL file remote glTF/glb/FBXsourceId captabit et cachabitanimation.currentIndex ad seligendum quam animationem luderecurrentIndex (number), speed (number, default 1.0), loop (boolean, default true)sizeParams continet width, height, depth pro dimensionibus modelis
{
"id": "3d-cube-001",
"type": "3D",
"start": 0,
"duration": 5,
"trackIndex": 0,
"x": 540,
"y": 540,
"z": 0,
"width": 200,
"height": 200,
"anchorX": 100,
"anchorY": 100,
"rotation": 0,
"rotationX": 30,
"rotationY": 45,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1,
"alpha": 1,
"ext": "geometry",
"nodeType": "geometry",
"category": "basic",
"geometryType": "cube",
"material": {
"physicalMaterialData": {
"color": "#4A90E2",
"roughness": 0.4,
"metalness": 0.0
}
}
}
{
"id": "3d-extrusion-001",
"type": "3D",
"start": 0,
"duration": 5,
"trackIndex": 0,
"x": 540,
"y": 540,
"z": 0,
"width": 300,
"height": 300,
"anchorX": 150,
"anchorY": 150,
"rotation": 0,
"rotationX": 0,
"rotationY": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1,
"alpha": 1,
"ext": "parametric",
"nodeType": "parametric",
"category": "extrusion",
"shapeSizeX": 300,
"shapeSizeY": 300,
"shapeExtrusion": 100,
"material": {
"physicalMaterialData": {
"color": "#FF6B6B",
"roughness": 0.3,
"metalness": 0.1
}
},
"extrusionSource": {
"shapeType": "SHAPE_STAR",
"starPoints": 5,
"starInnerRadius": 0.4
}
}
{
"id": "3d-model-001",
"type": "3D",
"start": 0,
"duration": 10,
"trackIndex": 0,
"x": 540,
"y": 540,
"z": -200,
"width": 400,
"height": 400,
"anchorX": 200,
"anchorY": 200,
"rotation": 0,
"rotationX": 0,
"rotationY": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1,
"alpha": 1,
"ext": "glb",
"nodeType": "model",
"sourceId": "cached-model-123",
"source": {
"url": "https://example.com/models/animated_character.glb"
},
"animation": {
"currentIndex": 0,
"speed": 1.0,
"loop": true
},
"sizeParams": {
"width": 2,
"height": 2,
"depth": 2
},
"originalWidth": 2,
"originalHeight": 2,
"originalDepth": 2
}