expose ortho_scale

This commit is contained in:
kijai 2025-01-26 03:14:07 +02:00
parent a887220a54
commit fb5a9d3229
2 changed files with 14 additions and 6 deletions

View File

@ -133,7 +133,7 @@ class MeshRender():
camera_distance=1.45, camera_type='orth',
default_resolution=1024, texture_size=1024,
use_antialias=True, max_mip_level=None, filter_mode='linear',
bake_mode='linear', raster_mode='cr', device='cuda'):
bake_mode='linear', raster_mode='cr', device='cuda', ortho_scale=1.2,):
self.device = device
@ -159,7 +159,7 @@ class MeshRender():
raise f'No raster named {self.raster_mode}'
if camera_type == 'orth':
self.ortho_scale = 1.2
self.ortho_scale = ortho_scale
self.camera_proj_mat = get_orthographic_projection_matrix(
left=-self.ortho_scale * 0.5, right=self.ortho_scale * 0.5,
bottom=-self.ortho_scale * 0.5, top=self.ortho_scale * 0.5,

View File

@ -241,6 +241,7 @@ class Hy3DCameraConfig:
"camera_elevations": ("STRING", {"default": "0, 0, 0, 0, 90, -90", "multiline": False}),
"view_weights": ("STRING", {"default": "1, 0.1, 0.5, 0.1, 0.05, 0.05", "multiline": False}),
"camera_distance": ("FLOAT", {"default": 1.45, "min": 0.1, "max": 10.0, "step": 0.001}),
"ortho_scale": ("FLOAT", {"default": 1.2, "min": 0.1, "max": 10.0, "step": 0.001}),
},
}
@ -249,7 +250,7 @@ class Hy3DCameraConfig:
FUNCTION = "process"
CATEGORY = "Hunyuan3DWrapper"
def process(self, camera_azimuths, camera_elevations, view_weights, camera_distance):
def process(self, camera_azimuths, camera_elevations, view_weights, camera_distance, ortho_scale):
angles_list = list(map(int, camera_azimuths.replace(" ", "").split(',')))
elevations_list = list(map(int, camera_elevations.replace(" ", "").split(',')))
weights_list = list(map(float, view_weights.replace(" ", "").split(',')))
@ -258,7 +259,8 @@ class Hy3DCameraConfig:
"selected_camera_azims": angles_list,
"selected_camera_elevs": elevations_list,
"selected_view_weights": weights_list,
"camera_distance": camera_distance
"camera_distance": camera_distance,
"ortho_scale": ortho_scale,
}
return (camera_config,)
@ -310,15 +312,18 @@ class Hy3DRenderMultiView:
selected_camera_azims = [0, 90, 180, 270, 0, 180]
selected_camera_elevs = [0, 0, 0, 0, 90, -90]
camera_distance = 1.45
ortho_scale = 1.2
else:
selected_camera_azims = camera_config["selected_camera_azims"]
selected_camera_elevs = camera_config["selected_camera_elevs"]
camera_distance = camera_config["camera_distance"]
ortho_scale = camera_config["ortho_scale"]
self.render = MeshRender(
default_resolution=render_size,
texture_size=texture_size,
camera_distance=camera_distance)
camera_distance=camera_distance,
ortho_scale=ortho_scale)
self.render.load_mesh(mesh)
@ -377,15 +382,18 @@ class Hy3DRenderMultiViewDepth:
selected_camera_azims = [0, 90, 180, 270, 0, 180]
selected_camera_elevs = [0, 0, 0, 0, 90, -90]
camera_distance = 1.45
ortho_scale = 1.2
else:
selected_camera_azims = camera_config["selected_camera_azims"]
selected_camera_elevs = camera_config["selected_camera_elevs"]
camera_distance = camera_config["camera_distance"]
ortho_scale = camera_config["ortho_scale"]
self.render = MeshRender(
default_resolution=render_size,
texture_size=texture_size,
camera_distance=camera_distance)
camera_distance=camera_distance,
ortho_scale=ortho_scale)
self.render.load_mesh(mesh)