add: better wound textures
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -1,46 +1,65 @@
|
||||
from pathlib import Path
|
||||
from PIL import Image
|
||||
import os
|
||||
|
||||
input_bodies_path = Path('input/body')
|
||||
input_wound_texture = Path('input/wound.png')
|
||||
# 48, 33 TEXTURE
|
||||
# 45, 33 TEXTURE
|
||||
|
||||
|
||||
# 256,256
|
||||
|
||||
IMG_WIDTH = 256
|
||||
|
||||
|
||||
COORDS_L = {
|
||||
#"H": (0, 115),
|
||||
"F": (0, 59),
|
||||
"U": (0,21),
|
||||
"H": (2, 100),
|
||||
"F": (2, 59),
|
||||
"U": (2,21),
|
||||
}
|
||||
|
||||
COORDS_R = {
|
||||
#"H": (IMG_WIDTH - 50- COORDS_L['H'][0], COORDS_L['H'][1]),
|
||||
"F": (IMG_WIDTH - 48 - COORDS_L['F'][0], COORDS_L['F'][1]),
|
||||
"U": (IMG_WIDTH - 48 - COORDS_L['U'][0], COORDS_L['U'][1]),
|
||||
"H": (IMG_WIDTH - 43- COORDS_L['H'][0], COORDS_L['H'][1]),
|
||||
"F": (IMG_WIDTH - 43 - COORDS_L['F'][0], COORDS_L['F'][1]),
|
||||
"U": (IMG_WIDTH - 43 - COORDS_L['U'][0], COORDS_L['U'][1]),
|
||||
}
|
||||
|
||||
STATES = ["BOTH"]
|
||||
|
||||
FULL_COORDS = {key: (COORDS_L[key], COORDS_R[key]) for key in COORDS_L}
|
||||
|
||||
print(FULL_COORDS)
|
||||
overlay = Image.open(input_wound_texture)
|
||||
|
||||
for filepath in input_bodies_path.glob('*.png'): # Only PNG files
|
||||
print(f'Processing {filepath.name}...')
|
||||
base = Image.open(filepath)
|
||||
body_name = filepath.stem
|
||||
|
||||
|
||||
for key_L, value_L in COORDS_L.items():
|
||||
for key_R, value_R in COORDS_R.items():
|
||||
for state in STATES:
|
||||
result = base.copy()
|
||||
body_name = filepath.stem.replace('MaleBody', 'skin')
|
||||
if body_name.endswith('a'):
|
||||
body_name = body_name[:-1] + '_hairy_b'
|
||||
else:
|
||||
body_name = body_name + '_b'
|
||||
|
||||
for key, (value_L, value_R) in FULL_COORDS.items():
|
||||
print(key)
|
||||
result = base.copy()
|
||||
|
||||
result.paste(overlay, value_L, mask=overlay)
|
||||
result.paste(overlay, value_R, mask=overlay)
|
||||
|
||||
output_path = 'output/'
|
||||
|
||||
if key == "H":
|
||||
os.makedirs('output/Hand', exist_ok=True)
|
||||
output_path = 'output/Hand'
|
||||
|
||||
if key == "F":
|
||||
os.makedirs('output/Forearm', exist_ok=True)
|
||||
output_path = 'output/Forearm'
|
||||
|
||||
if key == "U":
|
||||
os.makedirs('output/UpperArm', exist_ok=True)
|
||||
output_path = 'output/UpperArm'
|
||||
|
||||
result.save(f'{output_path}/{body_name}.png')
|
||||
|
||||
if state == "BOTH" or state == "ONLY_LEFT":
|
||||
result.paste(overlay, value_L, mask=overlay)
|
||||
if state == "BOTH" or state == "ONLY_RIGHT":
|
||||
result.paste(overlay, value_R, mask=overlay)
|
||||
|
||||
result.save(f'output/{body_name}_{key_L}_{key_R}_{state}.png')
|
||||
Reference in New Issue
Block a user