feat(fallback image): use extracted assets to get image
This commit is contained in:
21
config.yaml
21
config.yaml
@@ -1,15 +1,7 @@
|
||||
operators:
|
||||
nian:
|
||||
common_name: placeholder
|
||||
preview: preview.jpg
|
||||
project_json: project.json
|
||||
release_folder: ./release/{name}/
|
||||
source_folder: ./operator/{name}/extracted/
|
||||
target_folder: ./operator/{name}/processed/
|
||||
title: Nian
|
||||
use_skel: true
|
||||
chen:
|
||||
common_name: placeholder
|
||||
fallback_name: char_1012_skadi2_2
|
||||
preview: preview.jpg
|
||||
project_json: project.json
|
||||
release_folder: ./release/{name}/
|
||||
@@ -17,8 +9,19 @@ operators:
|
||||
target_folder: ./operator/{name}/processed/
|
||||
title: Ch'en the Holungday
|
||||
use_skel: true
|
||||
nian:
|
||||
common_name: placeholder
|
||||
fallback_name: char_1012_skadi2_2
|
||||
preview: preview.jpg
|
||||
project_json: project.json
|
||||
release_folder: ./release/{name}/
|
||||
source_folder: ./operator/{name}/extracted/
|
||||
target_folder: ./operator/{name}/processed/
|
||||
title: Nian
|
||||
use_skel: true
|
||||
skadi:
|
||||
common_name: dyn_illust_char_1012_skadi2
|
||||
fallback_name: char_1012_skadi2_2
|
||||
preview: preview.jpg
|
||||
project_json: project.json
|
||||
release_folder: ./release/{name}/
|
||||
|
||||
@@ -22,6 +22,9 @@ class AlphaComposite:
|
||||
def __open_image(self):
|
||||
self.image = Image.open(self.image_path)
|
||||
self.mask = Image.open(self.mask_path)
|
||||
if self.image.size != self.mask.size:
|
||||
# resize mask
|
||||
self.mask = self.__resize(self.mask, self.image.size[0], self.image.size[1])
|
||||
self.loaded_image = self.image.load()
|
||||
self.loaded_mask = self.mask.load()
|
||||
|
||||
@@ -30,3 +33,7 @@ class AlphaComposite:
|
||||
for x in range(self.mask.size[0]):
|
||||
self.loaded_image[x, y] = (self.loaded_image[x, y][0], self.loaded_image[x, y][1], self.loaded_image[x, y][2], self.loaded_mask[x, y][2])
|
||||
self.image.save(pathlib.Path.cwd().joinpath(self.save_path))
|
||||
|
||||
# resize image
|
||||
def __resize(self, image, width: int, height: int):
|
||||
return image.resize((width, height))
|
||||
|
||||
@@ -21,12 +21,16 @@ class Builder:
|
||||
self.__release_file(operator_name)
|
||||
return
|
||||
|
||||
def stop(self):
|
||||
return
|
||||
|
||||
def build_assets(self, operator_name):
|
||||
|
||||
use_skel = self.config["operators"][operator_name]["use_skel"]
|
||||
source_path = self.config["operators"][operator_name]["source_folder"].format(name=operator_name)
|
||||
target_path = self.config["operators"][operator_name]["target_folder"].format(name=operator_name)
|
||||
common_name = self.config["operators"][operator_name]["common_name"]
|
||||
fallback_name = self.config["operators"][operator_name]["fallback_name"]
|
||||
file_paths = dict(
|
||||
json=target_path + common_name + ".json",
|
||||
atlas=target_path + common_name + ".atlas",
|
||||
@@ -62,13 +66,19 @@ class Builder:
|
||||
),
|
||||
daemon=True,
|
||||
)
|
||||
fallback_thread = threading.Thread(
|
||||
target=AlphaComposite,
|
||||
args=(source_path + fallback_name, target_path + "../fallback"),
|
||||
daemon=True,
|
||||
)
|
||||
|
||||
ar_thread.start()
|
||||
skeleton_binary_thread.start()
|
||||
fallback_thread.start()
|
||||
ar_thread.join()
|
||||
atlas_base64_thread.start()
|
||||
|
||||
# alpha composite
|
||||
# alpha composite for live 2d assets
|
||||
for item in ar.images:
|
||||
alpha_composite_thread = threading.Thread(
|
||||
target=AlphaComposite,
|
||||
@@ -121,10 +131,12 @@ class Builder:
|
||||
json_base64_thread.start()
|
||||
json_base64_thread.join()
|
||||
|
||||
# join remaining threads
|
||||
for thread in png_to_base64_threads:
|
||||
thread.join()
|
||||
|
||||
atlas_base64_thread.join()
|
||||
fallback_thread.join()
|
||||
|
||||
jsonContent = prefix + str(data)
|
||||
with open(operator_file, "w") as f:
|
||||
|
||||
@@ -18,6 +18,7 @@ class Config:
|
||||
source_folder=str,
|
||||
target_folder=str,
|
||||
common_name=str,
|
||||
fallback_name=str,
|
||||
release_folder=str,
|
||||
project_json=str,
|
||||
preview=str,
|
||||
|
||||
Reference in New Issue
Block a user