add border in bme
This commit is contained in:
		@ -293,11 +293,11 @@ def create_bme_struct(
 | 
				
			|||||||
    # if NOT skip, add into valid list
 | 
					    # if NOT skip, add into valid list
 | 
				
			||||||
    valid_vec_idx: list[int] = []
 | 
					    valid_vec_idx: list[int] = []
 | 
				
			||||||
    for vec_idx, proto_vec in enumerate(proto[TOKEN_VERTICES]):
 | 
					    for vec_idx, proto_vec in enumerate(proto[TOKEN_VERTICES]):
 | 
				
			||||||
        if not _eval_others(proto_vec[TOKEN_VERTICES_SKIP], params):
 | 
					        if _eval_others(proto_vec[TOKEN_VERTICES_SKIP], params) == False:
 | 
				
			||||||
            valid_vec_idx.append(vec_idx)
 | 
					            valid_vec_idx.append(vec_idx)
 | 
				
			||||||
    valid_face_idx: list[int] = []
 | 
					    valid_face_idx: list[int] = []
 | 
				
			||||||
    for face_idx, proto_face in enumerate(proto[TOKEN_FACES]):
 | 
					    for face_idx, proto_face in enumerate(proto[TOKEN_FACES]):
 | 
				
			||||||
        if not _eval_others(proto_face[TOKEN_FACES_SKIP], params):
 | 
					        if _eval_others(proto_face[TOKEN_FACES_SKIP], params) == False:
 | 
				
			||||||
            valid_face_idx.append(face_idx)
 | 
					            valid_face_idx.append(face_idx)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # create mtl slot remap to help following mesh adding
 | 
					    # create mtl slot remap to help following mesh adding
 | 
				
			||||||
@ -395,6 +395,10 @@ def create_bme_struct(
 | 
				
			|||||||
            # add current face indices count to internal counter
 | 
					            # add current face indices count to internal counter
 | 
				
			||||||
            face_counter += indices_count
 | 
					            face_counter += indices_count
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # fill texture data
 | 
				
			||||||
 | 
					            mtl_name: str = _eval_others(face_data[TOKEN_FACES_TEXTURE], params)
 | 
				
			||||||
 | 
					            f.mMtlIdx = mtl_remap[mtl_name]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # return data once
 | 
					            # return data once
 | 
				
			||||||
            yield f
 | 
					            yield f
 | 
				
			||||||
    mesh_part.mFace = face_iterator()
 | 
					    mesh_part.mFace = face_iterator()
 | 
				
			||||||
@ -403,6 +407,10 @@ def create_bme_struct(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # then we incursively process instance creation
 | 
					    # then we incursively process instance creation
 | 
				
			||||||
    for proto_instance in proto[TOKEN_INSTANCES]:
 | 
					    for proto_instance in proto[TOKEN_INSTANCES]:
 | 
				
			||||||
 | 
					        # check whether skip this instance
 | 
				
			||||||
 | 
					        if _eval_others(proto_instance[TOKEN_INSTANCES_SKIP], params) == True:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # calc instance params
 | 
					        # calc instance params
 | 
				
			||||||
        instance_params: dict[str, typing.Any] = {}
 | 
					        instance_params: dict[str, typing.Any] = {}
 | 
				
			||||||
        proto_instance_params: dict[str, str] = proto_instance[TOKEN_INSTANCES_PARAMS]
 | 
					        proto_instance_params: dict[str, str] = proto_instance[TOKEN_INSTANCES_PARAMS]
 | 
				
			||||||
@ -414,6 +422,7 @@ def create_bme_struct(
 | 
				
			|||||||
            proto_instance[TOKEN_INSTANCES_IDENTIFIER],
 | 
					            proto_instance[TOKEN_INSTANCES_IDENTIFIER],
 | 
				
			||||||
            writer,
 | 
					            writer,
 | 
				
			||||||
            bmemtl,
 | 
					            bmemtl,
 | 
				
			||||||
 | 
					            # left-mul transform, because self transform should be applied first, the apply parent's transform
 | 
				
			||||||
            transform @ _eval_others(proto_instance[TOKEN_INSTANCES_TRANSFORM], params),
 | 
					            transform @ _eval_others(proto_instance[TOKEN_INSTANCES_TRANSFORM], params),
 | 
				
			||||||
            instance_params
 | 
					            instance_params
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										331
									
								
								bbp_ng/raw_jsons/borders.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										331
									
								
								bbp_ng/raw_jsons/borders.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,331 @@
 | 
				
			|||||||
 | 
					[
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "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": "border_texture",
 | 
				
			||||||
 | 
					                "data": "\"FloorTopBorderless\""
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "is_ribbon",
 | 
				
			||||||
 | 
					                "data": "False"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "length == 0.0",
 | 
				
			||||||
 | 
					        "vars": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "uv_length",
 | 
				
			||||||
 | 
					                "data": "length / 5.0"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "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": "False",
 | 
				
			||||||
 | 
					                "data": "(0, 0, 0)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(0, 2.5, -sink)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(length, 0, 0)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(length, 2.5, -sink)"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "faces": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "not face[0]",
 | 
				
			||||||
 | 
					                "texture": "border_texture",
 | 
				
			||||||
 | 
					                "indices": [0, 2, 3, 1],
 | 
				
			||||||
 | 
					                "uvs": [
 | 
				
			||||||
 | 
					                    "(0, 0)",
 | 
				
			||||||
 | 
					                    "(0, uv_length)",
 | 
				
			||||||
 | 
					                    "(uv_border_texture, uv_length)",
 | 
				
			||||||
 | 
					                    "(uv_border_texture, 0)"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "normals": [
 | 
				
			||||||
 | 
					                    "(0, sink, 2.5)",
 | 
				
			||||||
 | 
					                    "(0, sink, 2.5)",
 | 
				
			||||||
 | 
					                    "(0, sink, 2.5)",
 | 
				
			||||||
 | 
					                    "(0, sink, 2.5)"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "instances": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "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[2]",
 | 
				
			||||||
 | 
					                "params": {
 | 
				
			||||||
 | 
					                    "height": "height",
 | 
				
			||||||
 | 
					                    "length": "2.5",
 | 
				
			||||||
 | 
					                    "is_left_sink": "is_sink",
 | 
				
			||||||
 | 
					                    "is_right_sink": "False"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "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": "False",
 | 
				
			||||||
 | 
					                    "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, 2.5, 0) @ rot(0, 0, 180)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "identifier": "floor_bottom",
 | 
				
			||||||
 | 
					                "skip": "not face[1]",
 | 
				
			||||||
 | 
					                "params": {
 | 
				
			||||||
 | 
					                    "length": "length",
 | 
				
			||||||
 | 
					                    "width": "2.5"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "transform": "move(0, 0, -height)"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "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",
 | 
				
			||||||
 | 
					                    "border_texture": "\"FloorTopBorder\"",
 | 
				
			||||||
 | 
					                    "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",
 | 
				
			||||||
 | 
					                    "border_texture": "\"FloorTopProfil\"",
 | 
				
			||||||
 | 
					                    "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",
 | 
				
			||||||
 | 
					                    "border_texture": "\"FloorTopFlat\"",
 | 
				
			||||||
 | 
					                    "is_ribbon": "True"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "transform": "ident()"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
							
								
								
									
										202
									
								
								bbp_ng/raw_jsons/sides.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								bbp_ng/raw_jsons/sides.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,202 @@
 | 
				
			|||||||
 | 
					[
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "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": [
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "skip_long_side",
 | 
				
			||||||
 | 
					                "texture": "\"LightingFloorTopBorder\"",
 | 
				
			||||||
 | 
					                "indices": [0, 2, 3, 1],
 | 
				
			||||||
 | 
					                "uvs": [
 | 
				
			||||||
 | 
					                    "(0, 0)",
 | 
				
			||||||
 | 
					                    "(1 - uv_left_sink, 0)",
 | 
				
			||||||
 | 
					                    "(1 - uv_left_sink, uv_length)",
 | 
				
			||||||
 | 
					                    "(0, uv_length)"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "normals": [
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "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": [
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)",
 | 
				
			||||||
 | 
					                    "(0, -1, 0)"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "instances": []
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        "identifier": "floor_bottom",
 | 
				
			||||||
 | 
					        "showcase": null,
 | 
				
			||||||
 | 
					        "params": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "length",
 | 
				
			||||||
 | 
					                "data": "5.0"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "width",
 | 
				
			||||||
 | 
					                "data": "5.0"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "length == 0.0 or width == 0.0",
 | 
				
			||||||
 | 
					        "vars": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "uv_length",
 | 
				
			||||||
 | 
					                "data": "length / 5.0"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "field": "uv_width",
 | 
				
			||||||
 | 
					                "data": "width / 5.0"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "vertices": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(0, 0, 0)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(0, width, 0)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(length, 0, 0)"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "data": "(length, width, 0)"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "faces": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                "skip": "False",
 | 
				
			||||||
 | 
					                "texture": "\"FloorTopBorderless\"",
 | 
				
			||||||
 | 
					                "indices": [0, 1, 3, 2],
 | 
				
			||||||
 | 
					                "uvs": [
 | 
				
			||||||
 | 
					                    "(0, 0)",
 | 
				
			||||||
 | 
					                    "(uv_width, 0)",
 | 
				
			||||||
 | 
					                    "(uv_width, uv_length)",
 | 
				
			||||||
 | 
					                    "(0, uv_length)"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "normals": [
 | 
				
			||||||
 | 
					                    "(0, 0, -1)",
 | 
				
			||||||
 | 
					                    "(0, 0, -1)",
 | 
				
			||||||
 | 
					                    "(0, 0, -1)",
 | 
				
			||||||
 | 
					                    "(0, 0, -1)"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "instances": []
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
@ -16,6 +16,7 @@
 | 
				
			|||||||
                "data": "(True, False, True, True, True, True)"
 | 
					                "data": "(True, False, True, True, True, True)"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "False",
 | 
				
			||||||
        "vars": [
 | 
					        "vars": [
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "field": "uv_height",
 | 
					                "field": "uv_height",
 | 
				
			||||||
@ -75,7 +76,7 @@
 | 
				
			|||||||
                ]
 | 
					                ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "skip": "not face[1]",
 | 
					                "skip": "(not face[1]) or height == 0.0",
 | 
				
			||||||
                "texture": "trafo_texture",
 | 
					                "texture": "trafo_texture",
 | 
				
			||||||
                "indices": [5, 4, 7, 6],
 | 
					                "indices": [5, 4, 7, 6],
 | 
				
			||||||
                "uvs": [
 | 
					                "uvs": [
 | 
				
			||||||
@ -92,7 +93,7 @@
 | 
				
			|||||||
                ]
 | 
					                ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "skip": "not face[2]",
 | 
					                "skip": "(not face[2]) or height == 0.0",
 | 
				
			||||||
                "texture": "trafo_texture",
 | 
					                "texture": "trafo_texture",
 | 
				
			||||||
                "indices": [3, 7, 4, 0],
 | 
					                "indices": [3, 7, 4, 0],
 | 
				
			||||||
                "uvs": [
 | 
					                "uvs": [
 | 
				
			||||||
@ -109,7 +110,7 @@
 | 
				
			|||||||
                ]
 | 
					                ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "skip": "not face[3]",
 | 
					                "skip": "(not face[3]) or height == 0.0",
 | 
				
			||||||
                "texture": "trafo_texture",
 | 
					                "texture": "trafo_texture",
 | 
				
			||||||
                "indices": [1, 5, 6, 2],
 | 
					                "indices": [1, 5, 6, 2],
 | 
				
			||||||
                "uvs": [
 | 
					                "uvs": [
 | 
				
			||||||
@ -126,7 +127,7 @@
 | 
				
			|||||||
                ]
 | 
					                ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "skip": "not face[4]",
 | 
					                "skip": "(not face[4]) or height == 0.0",
 | 
				
			||||||
                "texture": "trafo_texture",
 | 
					                "texture": "trafo_texture",
 | 
				
			||||||
                "indices": [0, 4, 5, 1],
 | 
					                "indices": [0, 4, 5, 1],
 | 
				
			||||||
                "uvs": [
 | 
					                "uvs": [
 | 
				
			||||||
@ -143,7 +144,7 @@
 | 
				
			|||||||
                ]
 | 
					                ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                "skip": "not face[5]",
 | 
					                "skip": "(not face[5]) or height == 0.0",
 | 
				
			||||||
                "texture": "trafo_texture",
 | 
					                "texture": "trafo_texture",
 | 
				
			||||||
                "indices": [2, 6, 7, 3],
 | 
					                "indices": [2, 6, 7, 3],
 | 
				
			||||||
                "uvs": [
 | 
					                "uvs": [
 | 
				
			||||||
@ -195,6 +196,7 @@
 | 
				
			|||||||
                "data": "face_"
 | 
					                "data": "face_"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "False",
 | 
				
			||||||
        "vars": [],
 | 
					        "vars": [],
 | 
				
			||||||
        "vertices": [],
 | 
					        "vertices": [],
 | 
				
			||||||
        "faces": [],
 | 
					        "faces": [],
 | 
				
			||||||
@ -244,6 +246,7 @@
 | 
				
			|||||||
                "data": "face_"
 | 
					                "data": "face_"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "False",
 | 
				
			||||||
        "vars": [],
 | 
					        "vars": [],
 | 
				
			||||||
        "vertices": [],
 | 
					        "vertices": [],
 | 
				
			||||||
        "faces": [],
 | 
					        "faces": [],
 | 
				
			||||||
@ -293,6 +296,7 @@
 | 
				
			|||||||
                "data": "face_"
 | 
					                "data": "face_"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        "skip": "False",
 | 
				
			||||||
        "vars": [],
 | 
					        "vars": [],
 | 
				
			||||||
        "vertices": [],
 | 
					        "vertices": [],
 | 
				
			||||||
        "faces": [],
 | 
					        "faces": [],
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user