[feat] finish wide floor and sink platform auto gen.
- add height re-calc in derived block generation for fixing height issue when re-use Flat in sink platform. - finish all wide floor prototype. - finish all platform prototype.
@ -471,9 +471,19 @@ def _load_derived_floor(mesh, floor_type, height_multiplier, d1, d2, sides_struc
|
||||
|
||||
# iterate smahsed blocks
|
||||
for blk in floor_prototype['SmashedBlocks']:
|
||||
# calc basic parameter
|
||||
start_pos = _solve_vec_data(blk['StartPosition'], d1, d2, height_multiplier, block_3dworld_unit)
|
||||
expand_param = _solve_expand_param(blk['ExpandParam'], d1, d2)
|
||||
|
||||
# re-calc height multiply for this block.
|
||||
# if the translation of Z is not zero
|
||||
if start_pos[2] != 0.0:
|
||||
raw_height = (height_multiplier - 1) * 5.0 + start_pos[2] # test height
|
||||
blk_height = max(0, (raw_height / 5.0) + 1) # prevent minus height
|
||||
else:
|
||||
blk_height = height_multiplier
|
||||
|
||||
# get face data
|
||||
sides_data = tuple(sides_dict[x] for x in blk['SideSync'].split(';'))
|
||||
|
||||
# call basic floor creator
|
||||
@ -481,7 +491,7 @@ def _load_derived_floor(mesh, floor_type, height_multiplier, d1, d2, sides_struc
|
||||
mesh,
|
||||
blk['Type'],
|
||||
blk['Rotation'],
|
||||
height_multiplier,
|
||||
blk_height,
|
||||
expand_param[0],
|
||||
expand_param[1],
|
||||
sides_data,
|
||||
|
Before Width: | Height: | Size: 60 KiB |
BIN
ballance_blender_plugin/icons/floor/NormalFloorTerminal.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
ballance_blender_plugin/icons/floor/RibbonOutterCorner.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
ballance_blender_plugin/icons/floor/RibbonPlatform.png
Normal file
After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 62 KiB |
BIN
ballance_blender_plugin/icons/floor/SinkFloorTerminal.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
ballance_blender_plugin/icons/floor/SinkPlatform.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
ballance_blender_plugin/icons/floor/WideCrossroad.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
ballance_blender_plugin/icons/floor/WideFloor.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
ballance_blender_plugin/icons/floor/WideFloorTerminal.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
ballance_blender_plugin/icons/floor/WideLConnector.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
ballance_blender_plugin/icons/floor/WideTConnector.png
Normal file
After Width: | Height: | Size: 32 KiB |
493
ballance_blender_plugin/json/basic_blocks/ribbon_blocks.json
Normal file
@ -0,0 +1,493 @@
|
||||
[
|
||||
{
|
||||
"Type": "RibbonBorder",
|
||||
"BindingDisplayTexture": "RibbonBorder.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"InitColumnDirection": "PositiveX",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": false,
|
||||
"UseTwoDRight": false,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"ThreeDTopFace": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 0, 0",
|
||||
"2.5+d1, 2.5, -0.7",
|
||||
"0, 2.5, -0.7",
|
||||
"0, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopFlat",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"0, -d1",
|
||||
"1, -d1",
|
||||
"1, 0.5",
|
||||
"0, 0.5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ThreeDBottomFace": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 0, -5-d3",
|
||||
"2.5+d1, 2.5, -5-d3",
|
||||
"0, 2.5, -5-d3",
|
||||
"0, 0, -5-d3"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0.5",
|
||||
"0.5, 0.5",
|
||||
"0.5, -d1",
|
||||
"0, -d1"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDTopSide": {
|
||||
"Vertices": [
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, 0",
|
||||
"0, 2.5, -0.7",
|
||||
"0, 2.5, -5-d3"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"1+d3, 0",
|
||||
"0, 0",
|
||||
"0.14, 0.5",
|
||||
"1+d3, 0.5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDRightSide": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 2.5, -0.7",
|
||||
"2.5+d1, 2.5, -5-d3",
|
||||
"0, 2.5, -5-d3",
|
||||
"0, 2.5, -0.7"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"0.14, -d1",
|
||||
"1+d3, -d1",
|
||||
"1+d3, 0.5",
|
||||
"0.14, 0.5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDBottomSide": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 0, 0",
|
||||
"2.5+d1, 0, -5-d3",
|
||||
"2.5+d1, 2.5, -5-d3",
|
||||
"2.5+d1, 2.5, -0.7"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0",
|
||||
"1+d3, 0",
|
||||
"1+d3, 0.5",
|
||||
"0.14, 0.5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDLeftSide": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 0, 0",
|
||||
"2.5+d1, 0, -5-d3",
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0.5",
|
||||
"1+d3, 0.5",
|
||||
"1+d3, -d1",
|
||||
"0, -d1"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDTopSideExpand": null,
|
||||
"TwoDRightSideExpand": null,
|
||||
"TwoDBottomSideExpand": null,
|
||||
"TwoDLeftSideExpand": {
|
||||
"Vertices": [
|
||||
"2.5+d1, 0, -5-d3",
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, -2.5",
|
||||
"2.5+d1, 0, -2.5",
|
||||
"2.5+d1, 0, 0",
|
||||
"0, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorder_ForSide",
|
||||
"Indices": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"UVs": [
|
||||
"0.5, 0.5",
|
||||
"0.5, -d1",
|
||||
"0, -d1",
|
||||
"0, 0.5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, -d1",
|
||||
"0, 0.5",
|
||||
"0.5+d3, 0.5",
|
||||
"0.5+d3, -d1"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Type": "RibbonOutterCorner",
|
||||
"BindingDisplayTexture": "RibbonOutterCorner.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Static",
|
||||
"InitColumnDirection": "PositiveX",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": false,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"ThreeDTopFace": {
|
||||
"Vertices": [
|
||||
"0, 0, 0",
|
||||
"2.5, 0, 0",
|
||||
"2.5, 2.5, -0.7",
|
||||
"0, 2.5, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "TRIANGLE",
|
||||
"Textures": "FloorTopFlat",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0",
|
||||
"0, 1",
|
||||
"1, 1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "TRIANGLE",
|
||||
"Textures": "FloorTopFlat",
|
||||
"Indices": [
|
||||
0,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"1, 0",
|
||||
"0, 1",
|
||||
"1, 1"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ThreeDBottomFace": {
|
||||
"Vertices": [
|
||||
"2.5, 0, -5-d3",
|
||||
"2.5, 2.5, -5-d3",
|
||||
"0, 2.5, -5-d3",
|
||||
"0, 0, -5-d3"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0.5",
|
||||
"0.5, 0.5",
|
||||
"0.5, 0",
|
||||
"0, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDTopSide": {
|
||||
"Vertices": [
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, 0",
|
||||
"0, 2.5, 0",
|
||||
"0, 2.5, -5-d3"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"1+d3, 0",
|
||||
"0, 0",
|
||||
"0, 0.5",
|
||||
"1+d3, 0.5"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDRightSide": {
|
||||
"Vertices": [
|
||||
"2.5, 2.5, -5-d3",
|
||||
"0, 2.5, -5-d3",
|
||||
"0, 2.5, 0",
|
||||
"2.5, 2.5, -0.7"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"1+d3, 0",
|
||||
"1+d3, 0.5",
|
||||
"0, 0.5",
|
||||
"0.14, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDBottomSide": {
|
||||
"Vertices": [
|
||||
"2.5, 0, -5-d3",
|
||||
"2.5, 2.5, -5-d3",
|
||||
"2.5, 2.5, -0.7",
|
||||
"2.5, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"UVs": [
|
||||
"1+d3, 0",
|
||||
"1+d3, 0.5",
|
||||
"0.14, 0.5",
|
||||
"0, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDLeftSide": {
|
||||
"Vertices": [
|
||||
"2.5, 0, 0",
|
||||
"2.5, 0, -5-d3",
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0.5",
|
||||
"1+d3, 0.5",
|
||||
"1+d3, 0",
|
||||
"0, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDTopSideExpand": {
|
||||
"Vertices": [
|
||||
"0, 0, -5-d3",
|
||||
"0, 2.5, -5-d3",
|
||||
"0, 2.5, -2.5",
|
||||
"0, 0, -2.5",
|
||||
"0, 0, 0",
|
||||
"0, 2.5, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorder_ForSide",
|
||||
"Indices": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"UVs": [
|
||||
"0.5, 0.5",
|
||||
"0.5, 0",
|
||||
"0, 0",
|
||||
"0, 0.5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0",
|
||||
"0, 0.5",
|
||||
"0.5+d3, 0.5",
|
||||
"0.5+d3, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"TwoDRightSideExpand": null,
|
||||
"TwoDBottomSideExpand": null,
|
||||
"TwoDLeftSideExpand": {
|
||||
"Vertices": [
|
||||
"2.5, 0, -5-d3",
|
||||
"0, 0, -5-d3",
|
||||
"0, 0, -2.5",
|
||||
"2.5, 0, -2.5",
|
||||
"2.5, 0, 0",
|
||||
"0, 0, 0"
|
||||
],
|
||||
"Faces": [
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorder_ForSide",
|
||||
"Indices": [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5
|
||||
],
|
||||
"UVs": [
|
||||
"0.5, 0.5",
|
||||
"0.5, 0",
|
||||
"0, 0",
|
||||
"0, 0.5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "RECTANGLE",
|
||||
"Textures": "FloorTopBorderless_ForSide",
|
||||
"Indices": [
|
||||
3,
|
||||
2,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UVs": [
|
||||
"0, 0",
|
||||
"0, 0.5",
|
||||
"0.5+d3, 0.5",
|
||||
"0.5+d3, 0"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
@ -31,59 +31,31 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "NormalFloorHead",
|
||||
"BindingDisplayTexture": "NormalFloorHead.png",
|
||||
"Type": "NormalFloorTerminal",
|
||||
"BindingDisplayTexture": "NormalFloorTerminal.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"ExpandType": "Static",
|
||||
"InitColumnDirection": "PositiveX",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": true,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "NormalBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), 0, 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "NormalBorder",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "False;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1) +d1, (2.5*1), 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "NormalOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom",
|
||||
"SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "NormalOutterCorner",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d1, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "NormalOutterCorner",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d1, (2.5*1), 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "NormalOutterCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom",
|
||||
"SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1), 0",
|
||||
"ExpandParam": "0, 0"
|
||||
}
|
||||
|
@ -31,59 +31,31 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "SinkFloorHead",
|
||||
"BindingDisplayTexture": "SinkFloorHead.png",
|
||||
"Type": "SinkFloorTerminal",
|
||||
"BindingDisplayTexture": "SinkFloorTerminal.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"ExpandType": "Static",
|
||||
"InitColumnDirection": "PositiveX",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": true,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), 0, 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "False;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1) +d1, (2.5*1), 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom",
|
||||
"SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d1, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d1, (2.5*1), 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom",
|
||||
"SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1), 0",
|
||||
"ExpandParam": "0, 0"
|
||||
}
|
||||
@ -134,6 +106,166 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "SinkPlatform",
|
||||
"BindingDisplayTexture": "SinkPlatform.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Freedom",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": true,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), (2.5*1), -0.7",
|
||||
"ExpandParam": "d1, d2"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), 0, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "False;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, (2.5*1), 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "False;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1) +d2, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "False;False;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1) +d1, 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "RibbonPlatform",
|
||||
"BindingDisplayTexture": "RibbonPlatform.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Freedom",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": true,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), (2.5*1), -0.7",
|
||||
"ExpandParam": "d1, d2"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), 0, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonBorder",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "False;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, (2.5*1), 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonBorder",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "False;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1) +d2, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonBorder",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "False;False;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1) +d1, 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonOutterCorner",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonOutterCorner",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) +d2, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "RibbonOutterCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2) +d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "SinkLConnector",
|
||||
"BindingDisplayTexture": "SinkLConnector.png",
|
||||
|
262
ballance_blender_plugin/json/derived_blocks/wide_blocks.json
Normal file
@ -0,0 +1,262 @@
|
||||
[
|
||||
{
|
||||
"Type": "WideFloor",
|
||||
"BindingDisplayTexture": "WideFloor.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Freedom",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": false,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "2dBottom;False;2dTop;2dRight;3dTop;3dBottom",
|
||||
"StartPosition": "d2, (2.5*2)+d1, 0",
|
||||
"ExpandParam": "d2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1), -0.7",
|
||||
"ExpandParam": "d1, d2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "WideFloorTerminal",
|
||||
"BindingDisplayTexture": "WideFloorTerminal.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": true,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2)+d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "False;2dBottom;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*1) +d1, 0",
|
||||
"ExpandParam": "d1, 0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "WideLConnector",
|
||||
"BindingDisplayTexture": "WideLConnector.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": false,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": true,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkOutterCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;2dBottom;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*1), 0, 0",
|
||||
"ExpandParam": "d1 + 1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) + d1, (2.5*2) + d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2)+d1, 0",
|
||||
"ExpandParam": "d1 + 1, 0"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, 2.5, -0.7",
|
||||
"ExpandParam": "d1, d1 + 1"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;False;False;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, (2.5 * 2) + d1, -0.7",
|
||||
"ExpandParam": "0, d1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "WideTConnector",
|
||||
"BindingDisplayTexture": "WideTConnector.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": true,
|
||||
"UseTwoDRight": false,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": false,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) + d1, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2) + d1, (2.5*2) + d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkBorder",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "2dRight;False;2dLeft;2dTop;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2) + d1, 0",
|
||||
"ExpandParam": "d1 + 2, 0"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, 2.5, -0.7",
|
||||
"ExpandParam": "d1, d1+1"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, 0, -0.7",
|
||||
"ExpandParam": "0, d1"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;False;False;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, (2.5*2)+d1, -0.7",
|
||||
"ExpandParam": "0, d1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Type": "WideCrossroad",
|
||||
"BindingDisplayTexture": "WideCrossroad.png",
|
||||
"UnitSize": "Small",
|
||||
"ExpandType": "Column",
|
||||
"InitColumnDirection": "PositiveY",
|
||||
"DefaultSideConfig": {
|
||||
"UseTwoDTop": false,
|
||||
"UseTwoDRight": false,
|
||||
"UseTwoDBottom": false,
|
||||
"UseTwoDLeft": false,
|
||||
"UseThreeDTop": true,
|
||||
"UseThreeDBottom": false
|
||||
},
|
||||
"SmashedBlocks": [
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2)+d1, (2.5*2)+d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R90",
|
||||
"SideSync": "False;2dTop;2dRight;False;3dTop;3dBottom",
|
||||
"StartPosition": "0, (2.5*2)+d1, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R180",
|
||||
"SideSync": "False;2dLeft;2dTop;False;3dTop;3dBottom",
|
||||
"StartPosition": "0, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "SinkInnerCorner",
|
||||
"Rotation": "R270",
|
||||
"SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom",
|
||||
"StartPosition": "(2.5*2)+d1, 0, 0",
|
||||
"ExpandParam": "0, 0"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "2dTop;False;2dBottom;False;3dTop;3dBottom",
|
||||
"StartPosition": "0, 2.5, -0.7",
|
||||
"ExpandParam": "d1, d1+2"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;False;False;2dLeft;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, 0, -0.7",
|
||||
"ExpandParam": "0, d1"
|
||||
},
|
||||
{
|
||||
"Type": "Flat",
|
||||
"Rotation": "R0",
|
||||
"SideSync": "False;2dRight;False;False;3dTop;3dBottom",
|
||||
"StartPosition": "2.5, (2.5*2)+d1, -0.7",
|
||||
"ExpandParam": "0, d1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|