refactor: re-layput project
- move assets (raw jsons, icons, meshes and i18n data) into the root of repo. - move script into the root of repo. - modify blender manifest according to this changes. - optimize gitignore.
BIN
assets/icons/Empty.png
Normal file
After Width: | Height: | Size: 785 B |
BIN
assets/icons/bme/Flat.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
assets/icons/bme/NarrowTransition.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/icons/bme/Normal1x1.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
assets/icons/bme/NormalBorder.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
assets/icons/bme/NormalFloor.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
assets/icons/bme/NormalFloorTerminal.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
assets/icons/bme/NormalInnerCorner.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
assets/icons/bme/NormalLCrossing.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
assets/icons/bme/NormalOutterCorner.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
assets/icons/bme/NormalPlatform.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
assets/icons/bme/NormalTCrossing.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
assets/icons/bme/NormalXCrossing.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
assets/icons/bme/PaperTrafo.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
assets/icons/bme/RibbonBorder.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/icons/bme/RibbonInnerCorner.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/icons/bme/RibbonOutterCorner.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/icons/bme/RibbonPlatform.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
assets/icons/bme/Sink1x1.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
assets/icons/bme/SinkBorder.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
assets/icons/bme/SinkFloor.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
assets/icons/bme/SinkFloorTerminal.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
assets/icons/bme/SinkInnerCorner.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
assets/icons/bme/SinkLCrossing.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
assets/icons/bme/SinkOutterCorner.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
assets/icons/bme/SinkPlatform.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
assets/icons/bme/SinkTCrossing.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
assets/icons/bme/SinkXCrossing.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
assets/icons/bme/StoneTrafo.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
assets/icons/bme/Transition.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
assets/icons/bme/WideFloor.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
assets/icons/bme/WideFloorTerminal.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
assets/icons/bme/WideLCrossing.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
assets/icons/bme/WideTCrossing.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
assets/icons/bme/WideXCrossing.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
assets/icons/bme/WoodTrafo.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
assets/icons/component/PC_TwoFlames.png
Normal file
After Width: | Height: | Size: 663 B |
BIN
assets/icons/component/PE_Balloon.png
Normal file
After Width: | Height: | Size: 745 B |
BIN
assets/icons/component/PR_Resetpoint.png
Normal file
After Width: | Height: | Size: 945 B |
BIN
assets/icons/component/PS_FourFlames.png
Normal file
After Width: | Height: | Size: 818 B |
BIN
assets/icons/component/P_Ball_Paper.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
assets/icons/component/P_Ball_Stone.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
assets/icons/component/P_Ball_Wood.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
assets/icons/component/P_Box.png
Normal file
After Width: | Height: | Size: 984 B |
BIN
assets/icons/component/P_Dome.png
Normal file
After Width: | Height: | Size: 611 B |
BIN
assets/icons/component/P_Extra_Life.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/icons/component/P_Extra_Point.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/icons/component/P_Modul_01.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/icons/component/P_Modul_03.png
Normal file
After Width: | Height: | Size: 471 B |
BIN
assets/icons/component/P_Modul_08.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/icons/component/P_Modul_17.png
Normal file
After Width: | Height: | Size: 494 B |
BIN
assets/icons/component/P_Modul_18.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
assets/icons/component/P_Modul_19.png
Normal file
After Width: | Height: | Size: 992 B |
BIN
assets/icons/component/P_Modul_25.png
Normal file
After Width: | Height: | Size: 444 B |
BIN
assets/icons/component/P_Modul_26.png
Normal file
After Width: | Height: | Size: 691 B |
BIN
assets/icons/component/P_Modul_29.png
Normal file
After Width: | Height: | Size: 775 B |
BIN
assets/icons/component/P_Modul_30.png
Normal file
After Width: | Height: | Size: 807 B |
BIN
assets/icons/component/P_Modul_34.png
Normal file
After Width: | Height: | Size: 652 B |
BIN
assets/icons/component/P_Modul_37.png
Normal file
After Width: | Height: | Size: 695 B |
BIN
assets/icons/component/P_Modul_41.png
Normal file
After Width: | Height: | Size: 550 B |
BIN
assets/icons/component/P_Trafo_Paper.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
assets/icons/component/P_Trafo_Stone.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/icons/component/P_Trafo_Wood.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/icons/group/SoundID_01.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
assets/icons/group/SoundID_02.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/icons/group/SoundID_03.png
Normal file
After Width: | Height: | Size: 265 B |
183
assets/jsons/1x1.json
Normal file
@ -0,0 +1,183 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_1x1",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, True, True, True)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[3], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[5], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, 270)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[4], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_1x1",
|
||||
"showcase": {
|
||||
"title": "Normal 1x1",
|
||||
"icon": "Normal1x1",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_1x1",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_1x1",
|
||||
"showcase": {
|
||||
"title": "Sink 1x1",
|
||||
"icon": "Sink1x1",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_1x1",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
237
assets/jsons/borders.json
Normal file
@ -0,0 +1,237 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_border",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, True, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_ribbon",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "length",
|
||||
"short_edge_offset": "0",
|
||||
"short_edge_length": "length",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "is_sink",
|
||||
"is_ribbon": "is_ribbon"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_border",
|
||||
"showcase": {
|
||||
"title": "Normal Border",
|
||||
"icon": "NormalBorder",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_border",
|
||||
"showcase": {
|
||||
"title": "Sink Border",
|
||||
"icon": "SinkBorder",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_ribbon_border",
|
||||
"showcase": {
|
||||
"title": "Ribbon Border",
|
||||
"icon": "RibbonBorder",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
414
assets/jsons/chris_vanilla.json
Normal file
@ -0,0 +1,414 @@
|
||||
[
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "long_edge_length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_offset",
|
||||
"data": "0.0"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, True, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_ribbon",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "long_edge_length == 0.0 or short_edge_length == 0.0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "long_edge_uv_length",
|
||||
"data": "long_edge_length / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_uv_offset",
|
||||
"data": "short_edge_offset / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_uv_length",
|
||||
"data": "short_edge_length / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_total",
|
||||
"data": "short_edge_offset + short_edge_length"
|
||||
},
|
||||
{
|
||||
"field": "short_edge_uv_total",
|
||||
"data": "short_edge_uv_offset + short_edge_uv_length"
|
||||
},
|
||||
{
|
||||
"field": "uv_border_texture",
|
||||
"data": "1.0 if is_ribbon else 0.5"
|
||||
},
|
||||
{
|
||||
"field": "sink",
|
||||
"data": "0.7 if is_sink else 0.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(short_edge_offset, 2.5, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(long_edge_length, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(short_edge_total, 2.5, -sink)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "(\"FloorTopFlat\" if is_ribbon else \"FloorTopProfil\") if is_sink else \"FloorTopBorder\"",
|
||||
"indices": [0, 2, 3, 1],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(0, long_edge_uv_length)",
|
||||
"(uv_border_texture, short_edge_uv_total)",
|
||||
"(uv_border_texture, short_edge_uv_offset)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "long_edge_length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(0, 0, short_edge_offset, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "rot(0, 0, angle(0, 0, short_edge_offset, 2.5)) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(long_edge_length, 0, short_edge_total, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(long_edge_length, 0, 0) @ rot(0, 0, angle(long_edge_length, 0, short_edge_total, 2.5))"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "short_edge_length",
|
||||
"is_left_sink": "is_sink",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(short_edge_offset, 2.5, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_4edges_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"top_left_pos": "(0, 0)",
|
||||
"top_right_pos": "(short_edge_offset, 2.5)",
|
||||
"bottom_left_pos": "(long_edge_length, 0)",
|
||||
"bottom_right_pos": "(short_edge_total, 2.5)"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "edge_length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "tip_offset",
|
||||
"data": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, True, None)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "edge_length == 0.0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "edge_uv_length",
|
||||
"data": "edge_length / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "tip_uv_offset",
|
||||
"data": "tip_offset / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "sink",
|
||||
"data": "0.7 if is_sink else 0.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(tip_offset, 2.5, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(edge_length, 0, 0)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "\"FloorTopProfil\" if is_sink else \"FloorTopBorder\"",
|
||||
"indices": [0, 2, 1],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(0, edge_uv_length)",
|
||||
"(0.5, tip_uv_offset)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "edge_length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(0, 0, tip_offset, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "rot(0, 0, angle(0, 0, tip_offset, 2.5)) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(edge_length, 0, tip_offset, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(edge_length, 0, 0) @ rot(0, 0, angle(edge_length, 0, tip_offset, 2.5))"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_triangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "edge_length",
|
||||
"width": "2.5",
|
||||
"tip_offset": "tip_offset"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, True, None)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [
|
||||
{
|
||||
"field": "sink",
|
||||
"data": "0.7 if is_sink else 0.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(2.5, 2.5, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "(not face[0]) or (not is_sink)",
|
||||
"data": "(2.5, 0, -sink)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "(not face[0]) or is_sink",
|
||||
"texture": "\"FloorTopFlat\"",
|
||||
"indices": [0, 1, 2],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(1, 0)",
|
||||
"(0.5, 0.5)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[0]) or (not is_sink)",
|
||||
"texture": "\"FloorTopProfil\"",
|
||||
"indices": [0, 3, 2],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(0.5, 0)",
|
||||
"(0.5, 0.5)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[0]) or (not is_sink)",
|
||||
"texture": "\"FloorTopProfil\"",
|
||||
"indices": [3, 1, 2],
|
||||
"uvs": [
|
||||
"(0.5, 0)",
|
||||
"(1, 0)",
|
||||
"(0.5, 0.5)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(0, 0, 2.5, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "rot(0, 0, 45)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "distance(5, 0, 2.5, 2.5)",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 135)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "(not face[4]) or (not is_sink)",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "(not face[4]) or (not is_sink)",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "True",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(2.5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "(not face[4]) or is_sink",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_triangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "2.5",
|
||||
"tip_offset": "2.5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
460
assets/jsons/corners.json
Normal file
@ -0,0 +1,460 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, False, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_inner",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_ribbon",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [
|
||||
{
|
||||
"field": "PXPY_sink",
|
||||
"data": "0.7 if (is_sink and (not is_inner)) else 0"
|
||||
},
|
||||
{
|
||||
"field": "NXNY_sink",
|
||||
"data": "0.7 if (is_sink and is_inner) else 0"
|
||||
},
|
||||
{
|
||||
"field": "PXPY_uv",
|
||||
"data": "(0 if is_inner else 0.5) * (2 if is_ribbon else 1)"
|
||||
},
|
||||
{
|
||||
"field": "NXNY_uv",
|
||||
"data": "(0.5 if is_inner else 0) * (2 if is_ribbon else 1)"
|
||||
},
|
||||
{
|
||||
"field": "corner_texture",
|
||||
"data": "(\"FloorTopFlat\" if is_ribbon else \"FloorTopProfil\") if is_sink else \"FloorTopBorder\""
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, -NXNY_sink)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(2.5, 0, -NXNY_sink)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(2.5, 2.5, -PXPY_sink)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 2.5, -NXNY_sink)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "corner_texture",
|
||||
"indices": [0, 1, 2],
|
||||
"uvs": [
|
||||
"(NXNY_uv, 0.5)",
|
||||
"(NXNY_uv, 0)",
|
||||
"(PXPY_uv, 0)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "corner_texture",
|
||||
"indices": [0, 2, 3],
|
||||
"uvs": [
|
||||
"(NXNY_uv, 0.5)",
|
||||
"(PXPY_uv, 0)",
|
||||
"(NXNY_uv, 0)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "NXNY_sink != 0",
|
||||
"is_right_sink": "NXNY_sink != 0"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "NXNY_sink != 0",
|
||||
"is_right_sink": "NXNY_sink != 0"
|
||||
},
|
||||
"transform": "move(0, 2.5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "NXNY_sink != 0",
|
||||
"is_right_sink": "PXPY_sink != 0"
|
||||
},
|
||||
"transform": "move(2.5, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "PXPY_sink != 0",
|
||||
"is_right_sink": "NXNY_sink != 0"
|
||||
},
|
||||
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "2.5",
|
||||
"width": "2.5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_inner_corner",
|
||||
"showcase": {
|
||||
"title": "Normal Inner Corner",
|
||||
"icon": "NormalInnerCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False",
|
||||
"is_inner": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"showcase": {
|
||||
"title": "Sink Inner Corner",
|
||||
"icon": "SinkInnerCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_inner": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_ribbon_inner_corner",
|
||||
"showcase": {
|
||||
"title": "Ribbon Inner Corner",
|
||||
"icon": "RibbonInnerCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_inner": "True",
|
||||
"is_ribbon": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_outter_corner",
|
||||
"showcase": {
|
||||
"title": "Normal Outter Corner",
|
||||
"icon": "NormalOutterCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False",
|
||||
"is_inner": "False",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_outter_corner",
|
||||
"showcase": {
|
||||
"title": "Sink Outter Corner",
|
||||
"icon": "SinkOutterCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_inner": "False",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_ribbon_outter_corner",
|
||||
"showcase": {
|
||||
"title": "Ribbon Outter Corner",
|
||||
"icon": "RibbonOutterCorner",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_inner": "False",
|
||||
"is_ribbon": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
527
assets/jsons/crossings.json
Normal file
@ -0,0 +1,527 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_l_crossing",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, False, True, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[4], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[3], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[5], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_t_crossing",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, False, False, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[4], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[3], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[5], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_x_crossing",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, False, False, False, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[4], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[3], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[5], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_center",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_l_crossing",
|
||||
"showcase": {
|
||||
"title": "Normal L Crossing",
|
||||
"icon": "NormalLCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_l_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_l_crossing",
|
||||
"showcase": {
|
||||
"title": "Sink L Crossing",
|
||||
"icon": "SinkLCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_l_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_t_crossing",
|
||||
"showcase": {
|
||||
"title": "Normal T Crossing",
|
||||
"icon": "NormalTCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_t_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_t_crossing",
|
||||
"showcase": {
|
||||
"title": "Sink T Crossing",
|
||||
"icon": "SinkTCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_t_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_x_crossing",
|
||||
"showcase": {
|
||||
"title": "Normal X Crossing",
|
||||
"icon": "NormalXCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_x_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_x_crossing",
|
||||
"showcase": {
|
||||
"title": "Sink X Crossing",
|
||||
"icon": "SinkXCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_x_crossing",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
171
assets/jsons/flat.json
Normal file
@ -0,0 +1,171 @@
|
||||
[
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"showcase": {
|
||||
"title": "Flat",
|
||||
"icon": "Flat",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink_",
|
||||
"type": "float",
|
||||
"title": "Is Sink",
|
||||
"desc": "Whether this flat floor is used for sink floor.",
|
||||
"default": "False"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "is_sink_"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0.0 or width == 0.0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "sink",
|
||||
"data": "0.7 if is_sink else 0"
|
||||
},
|
||||
{
|
||||
"field": "uv_length",
|
||||
"data": "length / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "uv_width",
|
||||
"data": "width / 5.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 0, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(length, 0, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(length, width, -sink)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, width, -sink)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "\"FloorTopBorderless\"",
|
||||
"indices": [0, 1, 2, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_length, 0)",
|
||||
"(uv_length, uv_width)",
|
||||
"(0, uv_width)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "is_sink",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width",
|
||||
"is_left_sink": "is_sink",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, width, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width",
|
||||
"is_left_sink": "is_sink",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(length, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "is_sink",
|
||||
"is_right_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(length, width, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "width"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
340
assets/jsons/platforms.json
Normal file
@ -0,0 +1,340 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_platform",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, True, True, True)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_ribbon",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "length + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "length",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[4], False)",
|
||||
"is_sink": "is_sink",
|
||||
"is_ribbon": "is_ribbon"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "length + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "length",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[5], False)",
|
||||
"is_sink": "is_sink",
|
||||
"is_ribbon": "is_ribbon"
|
||||
},
|
||||
"transform": "move(0, 5 + width, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "width + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "width",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[3], False)",
|
||||
"is_sink": "is_sink",
|
||||
"is_ribbon": "is_ribbon"
|
||||
},
|
||||
"transform": "move(5 + length, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "width + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "width",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], False)",
|
||||
"is_sink": "is_sink",
|
||||
"is_ribbon": "is_ribbon"
|
||||
},
|
||||
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"width": "width",
|
||||
"face": "(face[0], False, False, False, False, False)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(2.5, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5 + length",
|
||||
"width": "5 + width"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_platform",
|
||||
"showcase": {
|
||||
"title": "Normal Platform",
|
||||
"icon": "NormalPlatform",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_platform",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "width",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_platform",
|
||||
"showcase": {
|
||||
"title": "Sink Platform",
|
||||
"icon": "SinkPlatform",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_platform",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "width",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_ribbon_platform",
|
||||
"showcase": {
|
||||
"title": "Ribbon Platform",
|
||||
"icon": "RibbonPlatform",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_platform",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "width",
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
324
assets/jsons/sides.json
Normal file
@ -0,0 +1,324 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "is_left_sink",
|
||||
"data": "False"
|
||||
},
|
||||
{
|
||||
"field": "is_right_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "height <= (0.7 if (is_left_sink or is_right_sink) else 0.0) or length == 0.0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "skip_long_side",
|
||||
"data": "height <= 5.0"
|
||||
},
|
||||
{
|
||||
"field": "skip_short_side",
|
||||
"data": "height > 5.0"
|
||||
},
|
||||
{
|
||||
"field": "uv_height",
|
||||
"data": "height / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "uv_length",
|
||||
"data": "length / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "left_sink",
|
||||
"data": "0.7 if is_left_sink else 0.0"
|
||||
},
|
||||
{
|
||||
"field": "right_sink",
|
||||
"data": "0.7 if is_right_sink else 0.0"
|
||||
},
|
||||
{
|
||||
"field": "uv_left_sink",
|
||||
"data": "left_sink / 5.0"
|
||||
},
|
||||
{
|
||||
"field": "uv_right_sink",
|
||||
"data": "right_sink / 5.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 0, -left_sink)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(length, 0, -right_sink)"
|
||||
},
|
||||
{
|
||||
"skip": "skip_long_side",
|
||||
"data": "(0, 0, -5.0)"
|
||||
},
|
||||
{
|
||||
"skip": "skip_long_side",
|
||||
"data": "(length, 0, -5.0)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 0, -height)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(length, 0, -height)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "skip_short_side",
|
||||
"texture": "\"FloorSide\"",
|
||||
"indices": [0, 2, 3, 1],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height - uv_left_sink, 0)",
|
||||
"(uv_height - uv_right_sink, uv_length)",
|
||||
"(0, uv_length)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "skip_long_side",
|
||||
"texture": "\"LightingFloorTopBorder\"",
|
||||
"indices": [0, 2, 3, 1],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(1 - uv_left_sink, 0)",
|
||||
"(1 - uv_right_sink, uv_length)",
|
||||
"(0, uv_length)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "skip_long_side",
|
||||
"texture": "\"LightingFloorTopBorderless\"",
|
||||
"indices": [2, 4, 5, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height - 1.0, 0)",
|
||||
"(uv_height - 1.0, uv_length)",
|
||||
"(0, uv_length)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"identifier": "floor_4edges_bottom",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "top_left_pos",
|
||||
"data": "(0.0, 0.0)"
|
||||
},
|
||||
{
|
||||
"field": "top_right_pos",
|
||||
"data": "(0.0, 5.0)"
|
||||
},
|
||||
{
|
||||
"field": "bottom_left_pos",
|
||||
"data": "(5.0, 0.0)"
|
||||
},
|
||||
{
|
||||
"field": "bottom_right_pos",
|
||||
"data": "(5.0, 5.0)"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [
|
||||
{
|
||||
"field": "top_left_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, top_left_pos))"
|
||||
},
|
||||
{
|
||||
"field": "top_right_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, top_right_pos))"
|
||||
},
|
||||
{
|
||||
"field": "bottom_left_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, bottom_left_pos))"
|
||||
},
|
||||
{
|
||||
"field": "bottom_right_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, bottom_right_pos))"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "top_left_pos + (0, )"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "top_right_pos + (0, )"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "bottom_left_pos + (0, )"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "bottom_right_pos + (0, )"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "False",
|
||||
"texture": "\"FloorTopBorderless\"",
|
||||
"indices": [0, 1, 3, 2],
|
||||
"uvs": [
|
||||
"top_left_uv",
|
||||
"top_right_uv",
|
||||
"bottom_right_uv",
|
||||
"bottom_left_uv"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"identifier": "floor_3edges_bottom",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "top_pos",
|
||||
"data": "(0.0, 0.0)"
|
||||
},
|
||||
{
|
||||
"field": "bottom_pos",
|
||||
"data": "(5.0, 0.0)"
|
||||
},
|
||||
{
|
||||
"field": "tip_pos",
|
||||
"data": "(2.5, 2.5)"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [
|
||||
{
|
||||
"field": "top_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, top_pos))"
|
||||
},
|
||||
{
|
||||
"field": "bottom_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, bottom_pos))"
|
||||
},
|
||||
{
|
||||
"field": "tip_uv",
|
||||
"data": "tuple(map(lambda x: x / 5.0, tip_pos))"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "top_pos + (0, )"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "bottom_pos + (0, )"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "tip_pos + (0, )"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "False",
|
||||
"texture": "\"FloorTopBorderless\"",
|
||||
"indices": [0, 2, 1],
|
||||
"uvs": [
|
||||
"top_uv",
|
||||
"tip_uv",
|
||||
"bottom_uv"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "5.0"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0.0 or width == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "floor_4edges_bottom",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"top_left_pos": "(0, 0)",
|
||||
"top_right_pos": "(0, width)",
|
||||
"bottom_left_pos": "(length, 0)",
|
||||
"bottom_right_pos": "(length, width)"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_triangle_bottom",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "length",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "tip_offset",
|
||||
"data": "2.5"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "floor_3edges_bottom",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"top_pos": "(0, 0)",
|
||||
"bottom_pos": "(length, 0)",
|
||||
"tip_pos": "(tip_offset, width)"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
322
assets/jsons/streets.json
Normal file
@ -0,0 +1,322 @@
|
||||
[
|
||||
{
|
||||
"identifier": "floor_normal_straight",
|
||||
"showcase": {
|
||||
"title": "Normal Floor",
|
||||
"icon": "NormalFloor",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "length_uv",
|
||||
"data": "length / 5.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(length, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(length, 5, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 5, 0)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "\"FloorTopFlat\"",
|
||||
"indices": [0, 1, 2, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(0, length_uv)",
|
||||
"(1, length_uv)",
|
||||
"(1, 0)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(length, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_straight",
|
||||
"showcase": {
|
||||
"title": "Sink Floor",
|
||||
"icon": "SinkFloor",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of block.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0",
|
||||
"vars": [
|
||||
{
|
||||
"field": "length_uv",
|
||||
"data": "length / 5.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(length, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(length, 2.5, -0.7)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 2.5, -0.7)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(length, 5, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"data": "(0, 5, 0)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "\"FloorTopProfil\"",
|
||||
"indices": [0, 1, 2, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(0, length_uv)",
|
||||
"(0.5, length_uv)",
|
||||
"(0.5, 0)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "\"FloorTopProfil\"",
|
||||
"indices": [3, 2, 4, 5],
|
||||
"uvs": [
|
||||
"(0.5, 0)",
|
||||
"(0.5, length_uv)",
|
||||
"(1, length_uv)",
|
||||
"(1, 0)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "True"
|
||||
},
|
||||
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "True",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(0, 2.5, 0) @ rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "True"
|
||||
},
|
||||
"transform": "move(length, 0, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[3]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "True",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(length, 2.5, 0) @ rot(0, 0, 90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
171
assets/jsons/terminals.json
Normal file
@ -0,0 +1,171 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_terminal",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, False, True, True)"
|
||||
},
|
||||
{
|
||||
"field": "is_sink",
|
||||
"data": "False"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "2.5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], face[4], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "2.5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], face[5], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], None)",
|
||||
"is_sink": "is_sink"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "2.5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_normal_terminal",
|
||||
"showcase": {
|
||||
"title": "Normal Floor Terminal",
|
||||
"icon": "NormalFloorTerminal",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_terminal",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_terminal",
|
||||
"showcase": {
|
||||
"title": "Sink Floor Terminal",
|
||||
"icon": "SinkFloorTerminal",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_terminal",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "face",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
286
assets/jsons/trafos.json
Normal file
@ -0,0 +1,286 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_trafo",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "trafo_texture",
|
||||
"data": "\"BallWood\""
|
||||
},
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "(True, False, True, True, True, True)"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [
|
||||
{
|
||||
"field": "uv_height",
|
||||
"data": "height / 5.0"
|
||||
}
|
||||
],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(5, 5, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 5, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 0, -height)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(5, 0, -height)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(5, 5, -height)"
|
||||
},
|
||||
{
|
||||
"skip": "False",
|
||||
"data": "(0, 5, -height)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face[0]",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [0, 1, 2, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(1, 0)",
|
||||
"(1, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[1]) or height == 0.0",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [5, 4, 7, 6],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(1, 0)",
|
||||
"(1, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[2]) or height == 0.0",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [3, 7, 4, 0],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height, 0)",
|
||||
"(uv_height, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[3]) or height == 0.0",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [1, 5, 6, 2],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height, 0)",
|
||||
"(uv_height, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[4]) or height == 0.0",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [0, 4, 5, 1],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height, 0)",
|
||||
"(uv_height, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "(not face[5]) or height == 0.0",
|
||||
"texture": "trafo_texture",
|
||||
"indices": [2, 6, 7, 3],
|
||||
"uvs": [
|
||||
"(0, 0)",
|
||||
"(uv_height, 0)",
|
||||
"(uv_height, 1)",
|
||||
"(0, 1)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": []
|
||||
},
|
||||
{
|
||||
"identifier": "wood_trafo",
|
||||
"showcase": {
|
||||
"title": "Wood Trafo",
|
||||
"icon": "WoodTrafo",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_trafo",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"trafo_texture": "\"BallWood\"",
|
||||
"height": "height",
|
||||
"face": "face"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "stone_trafo",
|
||||
"showcase": {
|
||||
"title": "Stone Trafo",
|
||||
"icon": "StoneTrafo",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_trafo",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"trafo_texture": "\"BallStone\"",
|
||||
"height": "height",
|
||||
"face": "face"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "paper_trafo",
|
||||
"showcase": {
|
||||
"title": "Paper Trafo",
|
||||
"icon": "PaperTrafo",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, True, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_trafo",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"trafo_texture": "\"BallPaper\"",
|
||||
"height": "height",
|
||||
"face": "face"
|
||||
},
|
||||
"transform": "ident()"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
270
assets/jsons/transitions.json
Normal file
@ -0,0 +1,270 @@
|
||||
[
|
||||
{
|
||||
"identifier": "raw_floor_transition_part",
|
||||
"showcase": null,
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_part",
|
||||
"data": "(True, False, False)"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"data": "(0, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"data": "(5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"data": "(0, 2.5, -0.7)"
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"data": "(5, 5, 0)"
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"data": "(0, 5, 0)"
|
||||
}
|
||||
],
|
||||
"faces": [
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"texture": "\"FloorTopProfilFlat\"",
|
||||
"indices": [0, 1, 2],
|
||||
"uvs": [
|
||||
"(0, 1)",
|
||||
"(0, 0)",
|
||||
"(0.5, 1)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"texture": "\"FloorTopProfilFlat\"",
|
||||
"indices": [3, 2, 1],
|
||||
"uvs": [
|
||||
"(1, 0)",
|
||||
"(0.5, 1)",
|
||||
"(0, 0)"
|
||||
],
|
||||
"normals": null
|
||||
},
|
||||
{
|
||||
"skip": "not face_part[0]",
|
||||
"texture": "\"FloorTopProfilFlat\"",
|
||||
"indices": [2, 3, 4],
|
||||
"uvs": [
|
||||
"(0.5, 1)",
|
||||
"(1, 0)",
|
||||
"(1, 1)"
|
||||
],
|
||||
"normals": null
|
||||
}
|
||||
],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face_part[1]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "True"
|
||||
},
|
||||
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face_part[1]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "True",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(0, 2.5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face_part[2]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_transition",
|
||||
"showcase": {
|
||||
"title": "Transition",
|
||||
"icon": "Transition",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_transition_part",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face_part": "(face[0], face[2], face[3])"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_narrow_transition",
|
||||
"showcase": {
|
||||
"title": "Narrow Transition",
|
||||
"icon": "NarrowTransition",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "False",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "raw_floor_transition_part",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face_part": "(face[0], face[2], face[3])"
|
||||
},
|
||||
"transform": "scale(0.5, 1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[4]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "raw_floor_side",
|
||||
"skip": "not face[5]",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"is_left_sink": "False",
|
||||
"is_right_sink": "False"
|
||||
},
|
||||
"transform": "move(2.5, 5, 0) @ rot(0, 0, 180)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "2.5",
|
||||
"width": "5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
601
assets/jsons/wide_floors.json
Normal file
@ -0,0 +1,601 @@
|
||||
[
|
||||
{
|
||||
"identifier": "floor_wide_straight",
|
||||
"showcase": {
|
||||
"title": "Wide Floor",
|
||||
"icon": "WideFloor",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "length_",
|
||||
"type": "float",
|
||||
"title": "Length",
|
||||
"desc": "The length of wide floor.",
|
||||
"default": "2.5"
|
||||
},
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "length",
|
||||
"data": "length_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "length == 0.0 or width == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "floor_sink_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, face[2], face[3], face[4], False)"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, face[2], face[3], face[5], False)"
|
||||
},
|
||||
"transform": "move(0, 5 + width, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "length",
|
||||
"width": "width",
|
||||
"face": "(face[0], False, face[2], face[3], False, False)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(0, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "length",
|
||||
"width": "5 + width"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_wide_terminal",
|
||||
"showcase": {
|
||||
"title": "Wide Floor Terminal",
|
||||
"icon": "WideFloorTerminal",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "width_",
|
||||
"type": "float",
|
||||
"title": "Width",
|
||||
"desc": "The width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, True)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "width",
|
||||
"data": "width_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "width == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "width + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "width",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, False, face[2], face[3])",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "2.5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], face[4], None)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_triangle_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"edge_length": "2.5",
|
||||
"tip_offset": "2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], face[5], None)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(0, width + 5, 0) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "2.5",
|
||||
"width": "5 + width"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_wide_l_crossing",
|
||||
"showcase": {
|
||||
"title": "Wide Floor L Crossing",
|
||||
"icon": "WideLCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "width_h_",
|
||||
"type": "float",
|
||||
"title": "Horizontal Width",
|
||||
"desc": "The horizontal floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width_v_",
|
||||
"type": "float",
|
||||
"title": "Vertical Width",
|
||||
"desc": "The vertical floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, True, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "width_h",
|
||||
"data": "width_h_"
|
||||
},
|
||||
{
|
||||
"field": "width_v",
|
||||
"data": "width_v_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "width_h == 0.0 or width_v == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "width_h + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "width_h + 2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], face[4], False)",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "ident()"
|
||||
},
|
||||
{
|
||||
"identifier": "cv_trapezoid_side",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"long_edge_length": "width_v + 5",
|
||||
"short_edge_offset": "2.5",
|
||||
"short_edge_length": "width_v + 2.5",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[5], face[2], False)",
|
||||
"is_sink": "True",
|
||||
"is_ribbon": "False"
|
||||
},
|
||||
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], False, face[5])"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5 + width_v, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width_h + 2.5",
|
||||
"width": "width_v",
|
||||
"face": "(face[0], False, False, face[3], False, False)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width_h",
|
||||
"width": "2.5",
|
||||
"face": "(face[0], False, False, False, False, face[5])",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5, 2.5 + width_v, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "width_h + 5",
|
||||
"width": "width_v + 5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_wide_t_crossing",
|
||||
"showcase": {
|
||||
"title": "Wide Floor T Crossing",
|
||||
"icon": "WideTCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "width_h_",
|
||||
"type": "float",
|
||||
"title": "Horizontal Width",
|
||||
"desc": "The horizontal floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width_v_",
|
||||
"type": "float",
|
||||
"title": "Vertical Width",
|
||||
"desc": "The vertical floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, True, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "width_h",
|
||||
"data": "width_h_"
|
||||
},
|
||||
{
|
||||
"field": "width_v",
|
||||
"data": "width_v_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "width_h == 0.0 or width_v == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "floor_sink_border",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"length": "5 + width_v",
|
||||
"height": "height",
|
||||
"face": "(face[0], False, face[5], face[4], face[2], False)"
|
||||
},
|
||||
"transform": "move(0, 5 + width_v, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[4], False, face[3])"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], False, face[5])"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5 + width_v, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width_h",
|
||||
"width": "5 + width_v",
|
||||
"face": "(face[0], False, False, False, face[4], face[5])",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"width": "width_v",
|
||||
"face": "(face[0], False, False, face[3], False, False)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "width_h + 5",
|
||||
"width": "width_v + 5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifier": "floor_wide_x_crossing",
|
||||
"showcase": {
|
||||
"title": "Wide Floor X Crossing",
|
||||
"icon": "WideXCrossing",
|
||||
"type": "floor",
|
||||
"cfgs": [
|
||||
{
|
||||
"field": "width_h_",
|
||||
"type": "float",
|
||||
"title": "Horizontal Width",
|
||||
"desc": "The horizontal floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "width_v_",
|
||||
"type": "float",
|
||||
"title": "Vertical Width",
|
||||
"desc": "The vertical floor width of wide floor.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "height_",
|
||||
"type": "float",
|
||||
"title": "Height",
|
||||
"desc": "The height of block.",
|
||||
"default": "5.0"
|
||||
},
|
||||
{
|
||||
"field": "face_",
|
||||
"type": "face",
|
||||
"title": "Face",
|
||||
"desc": "Whether has some faces.",
|
||||
"default": "(True, False, False, False, False, False)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"field": "height",
|
||||
"data": "height_"
|
||||
},
|
||||
{
|
||||
"field": "width_h",
|
||||
"data": "width_h_"
|
||||
},
|
||||
{
|
||||
"field": "width_v",
|
||||
"data": "width_v_"
|
||||
},
|
||||
{
|
||||
"field": "face",
|
||||
"data": "face_"
|
||||
}
|
||||
],
|
||||
"skip": "width_h == 0.0 or width_v == 0.0",
|
||||
"vars": [],
|
||||
"vertices": [],
|
||||
"faces": [],
|
||||
"instances": [
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[5], False, face[2])"
|
||||
},
|
||||
"transform": "move(2.5, 2.5 + width_v, 0) @ rot(0, 0, -270)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[2], False, face[4])"
|
||||
},
|
||||
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, -180)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[4], False, face[3])"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5, 0) @ rot(0, 0, -90)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_sink_inner_corner",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"face": "(face[0], False, False, face[3], False, face[5])"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5 + width_v, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "width_h",
|
||||
"width": "5 + width_v",
|
||||
"face": "(face[0], False, False, False, face[4], face[5])",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5, 0, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"width": "width_v",
|
||||
"face": "(face[0], False, False, face[3], False, False)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(2.5 + width_h, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_flat",
|
||||
"skip": "False",
|
||||
"params": {
|
||||
"height": "height",
|
||||
"length": "2.5",
|
||||
"width": "width_v",
|
||||
"face": "(face[0], False, face[2], False, False, False)",
|
||||
"is_sink": "True"
|
||||
},
|
||||
"transform": "move(0, 2.5, 0)"
|
||||
},
|
||||
{
|
||||
"identifier": "floor_rectangle_bottom",
|
||||
"skip": "not face[1]",
|
||||
"params": {
|
||||
"length": "width_h + 5",
|
||||
"width": "width_v + 5"
|
||||
},
|
||||
"transform": "move(0, 0, -height)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|