Asset Utilities (.assets.utils)

Contents

Asset Utilities (.assets.utils)#

Geometry (.assets.utils.geometry)#

curve#

class infinigen.assets.utils.geometry.curve.Curve(points, profile=None, taper=None, closed=False, sharp=None, scale=None)[source]#

Bases: object

to_curve_obj(...)[source]#
Parameters:
  • name -- (default: 'curve')

  • resu -- (default: 4)

  • curvetype -- (default: 'NURBS')

  • extrude -- (default: 0)

  • fill_caps -- (default: True)

  • to_mesh -- (default: False)

  • cleanup -- (default: True)

lofting#

class infinigen.assets.utils.geometry.lofting.Skin(ts, profiles, profile_as_points=False, angles=None, surface_params=None)[source]#

Bases: object

Defines all the data for a loft mesh besides its skeleton, ie how far and what shape should the mesh extend beyond the structure of the skeleton

N = number of defined profiles along the skeleton M = number of points per profile

Parameters:
  • ts (array)

  • profiles (array)

  • profile_as_points (bool)

  • angles (array)

  • surface_params (array)

profile_as_points: bool = False#
angles: array = None#
surface_params: array = None#
infinigen.assets.utils.geometry.lofting.factorize_nurbs_handles(handles)[source]#

Factorize (n,m,3) handles into a skeleton, radii and relative normalized profiles.

IE, profiles output will all face x axis, and have mean radius ~= 1

Parameters:

handles

infinigen.assets.utils.geometry.lofting.skeleton_to_tangents(skeleton)[source]#
Parameters:

skeleton

infinigen.assets.utils.geometry.lofting.compute_profile_verts(...)[source]#
Parameters:
  • skeleton

  • ts

  • profiles

  • angles -- (default: None)

  • profile_as_points -- (default: False)

metaballs#

class infinigen.assets.utils.geometry.metaballs.MBallStructure(name, resolution=0.1)[source]#

Bases: object

empty_elt(pos, rot, scale)[source]#
Parameters:
  • pos

  • rot

  • scale

apply_flags(ele, flags)[source]#
Parameters:
  • ele

  • flags

ellipse(...)[source]#
Parameters:
  • pos

  • rot

  • length

  • rad

  • mode -- (default: 'scale')

  • scale -- (default: (1, 1, 1))

  • flags -- (default: {})

capsule(...)[source]#
Parameters:
  • pos

  • rot

  • length

  • rad

  • scale -- (default: (1, 1, 1))

  • flags -- (default: {})

ball(pos, rad, **kwargs)[source]#
Parameters:
  • pos

  • rad

to_object()[source]#
clean()[source]#

nurbs#

infinigen.assets.utils.geometry.nurbs.compute_cylinder_topology(...)[source]#
Parameters:
  • n (int)

  • m (int)

  • uvs -- (default: False)

  • cyclic -- (default: True)

  • h_neighbors -- (default: None)

infinigen.assets.utils.geometry.nurbs.blender_mesh_from_pydata(...)[source]#
Parameters:
  • points

  • edges

  • faces

  • uvs -- (default: None)

  • name -- (default: 'pydata_mesh')

infinigen.assets.utils.geometry.nurbs.nurbs(...)[source]#
Parameters:
  • ctrlpts

  • method

  • face_size -- (default: 0.01)

  • debug -- (default: False)

skin_ops#

infinigen.assets.utils.geometry.skin_ops.extend_cap(skin, r=1, margin=0)[source]#
Parameters:
  • skin (Skin)

  • r -- (default: 1)

  • margin -- (default: 0)

infinigen.assets.utils.geometry.skin_ops.square_cap(s)[source]#
Parameters:

s (Skin)

infinigen.assets.utils.geometry.skin_ops.bevel_cap(...)[source]#
Parameters:
infinigen.assets.utils.geometry.skin_ops.symmetrize(s, fac)[source]#
Parameters:
infinigen.assets.utils.geometry.skin_ops.outerprod_skin(...)[source]#
Parameters:
  • ts

  • rads

  • profile

  • profile_as_points -- (default: False)

  • add_cap -- (default: True)

infinigen.assets.utils.geometry.skin_ops.random_skin(...)[source]#
Parameters:
  • rad

  • n

  • m

  • n_params -- (default: 1)

infinigen.assets.utils.geometry.skin_ops.profile_from_thickened_curve(curve_skeleton, widths)[source]#
Parameters:
  • curve_skeleton (array)

  • widths (array)

Module contents#

Nodegroups (.assets.utils.nodegroups)#

attach#

infinigen.assets.utils.nodegroups.attach.nodegroup_surface_muscle(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.attach.nodegroup_attach_part(*args, **kwargs)[source]#

curve#

infinigen.assets.utils.nodegroups.curve.nodegroup_simple_tube(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.curve.nodegroup_simple_tube_v2(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.curve.nodegroup_smooth_taper(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.curve.nodegroup_warped_circle_curve(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.curve.nodegroup_polar_bezier(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.curve.nodegroup_profile_part(*args, **kwargs)[source]#

geometry#

infinigen.assets.utils.nodegroups.geometry.nodegroup_symmetric_clone(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.geometry.nodegroup_solidify(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.geometry.nodegroup_taper(*args, **kwargs)[source]#

hair#

infinigen.assets.utils.nodegroups.hair.nodegroup_comb_direction(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_hair_position(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_comb_hairs(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_strand_noise(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_duplicate_to_clumps(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_hair_length_rescale(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.hair.nodegroup_snap_roots_to_surface(*args, **kwargs)[source]#

math#

infinigen.assets.utils.nodegroups.math.nodegroup_floor_ceil(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_clamp_or_wrap(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_polar_to_cart(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_switch4(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_deg2_rad(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_aspect_to_dim(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_vector_sum(*args, **kwargs)[source]#
infinigen.assets.utils.nodegroups.math.nodegroup_vector_bezier(*args, **kwargs)[source]#

sculpt_v1#

shader#

infinigen.assets.utils.nodegroups.shader.nodegroup_color_mask(*args, **kwargs)[source]#

Module contents#

autobevel#

class infinigen.assets.utils.autobevel.BevelSharp(mult=1, angle_min_deg=70, segments=None)[source]#

Bases: object

bbox_from_mesh#

infinigen.assets.utils.bbox_from_mesh.box_from_corners(min_corner, max_corner)[source]#
Parameters:
  • min_corner

  • max_corner

infinigen.assets.utils.bbox_from_mesh.bbox_mesh_from_hipoly(gen, inst_seed, use_pholder=False)[source]#
Parameters:

decorate#

infinigen.assets.utils.decorate.multi_res(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.geo_extension(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • noise_strength -- (default: 0.2)

  • noise_scale -- (default: 2.0)

  • musgrave_dimensions -- (default: '3D')

infinigen.assets.utils.decorate.subsurface2face_size(obj, face_size)[source]#
Parameters:
  • obj

  • face_size

infinigen.assets.utils.decorate.read_selected(obj, domain='VERT')[source]#
Parameters:
  • obj

  • domain -- (default: 'VERT')

infinigen.assets.utils.decorate.read_co(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_edges(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_edge_center(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_edge_direction(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_edge_length(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_center(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_normal(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_area(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_loop_vertices(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_loop_edges(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_uv(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.write_uv(obj, arr)[source]#
Parameters:
  • obj

  • arr

infinigen.assets.utils.decorate.read_base_co(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.write_co(obj, arr)[source]#
Parameters:
  • obj

  • arr

infinigen.assets.utils.decorate.read_material_index(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_loop_starts(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.read_loop_totals(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.write_material_index(obj, arr)[source]#
Parameters:
  • obj

  • arr

infinigen.assets.utils.decorate.set_shade_smooth(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.displace_vertices(obj, fn)[source]#
Parameters:
  • obj

  • fn

infinigen.assets.utils.decorate.remove_vertices(obj, to_delete)[source]#
Parameters:
  • obj

  • to_delete

infinigen.assets.utils.decorate.remove_edges(obj, to_delete)[source]#
Parameters:
  • obj

  • to_delete

infinigen.assets.utils.decorate.remove_faces(obj, to_delete, remove_loose=True)[source]#
Parameters:
  • obj

  • to_delete

  • remove_loose -- (default: True)

infinigen.assets.utils.decorate.select_vertices(obj, to_select)[source]#
Parameters:
  • obj

  • to_select

infinigen.assets.utils.decorate.select_edges(obj, to_select)[source]#
Parameters:
  • obj

  • to_select

infinigen.assets.utils.decorate.select_faces(obj, to_select)[source]#
Parameters:
  • obj

  • to_select

infinigen.assets.utils.decorate.write_attribute(...)[source]#
Parameters:
  • obj

  • fn

  • name

  • domain -- (default: 'POINT')

  • data_type -- (default: 'FLOAT')

infinigen.assets.utils.decorate.distance2boundary(obj)[source]#
Parameters:

obj

infinigen.assets.utils.decorate.mirror(obj, axis=0)[source]#
Parameters:
  • obj

  • axis -- (default: 0)

infinigen.assets.utils.decorate.subsurf(obj, levels, simple=False)[source]#
Parameters:
  • obj

  • levels

  • simple -- (default: False)

infinigen.assets.utils.decorate.subdivide_edge_ring(...)[source]#
Parameters:
  • obj

  • cuts -- (default: 64)

  • axis -- (default: (0, 0, 1))

infinigen.assets.utils.decorate.solidify(obj, axis, thickness)[source]#
Parameters:
  • obj

  • axis

  • thickness

infinigen.assets.utils.decorate.decimate(points, n)[source]#
Parameters:
  • points

  • n

draw#

infinigen.assets.utils.draw.shape_by_angles(...)[source]#
Parameters:
  • obj

  • angles

  • scales -- (default: None)

  • displacements -- (default: None)

  • method -- (default: 'quadratic')

infinigen.assets.utils.draw.shape_by_xs(...)[source]#
Parameters:
  • obj

  • xs

  • displacements

  • method -- (default: 'quadratic')

infinigen.assets.utils.draw.surface_from_func(...)[source]#
Parameters:
  • fn

  • div_x -- (default: 16)

  • div_y -- (default: 16)

  • size_x -- (default: 2)

  • size_y -- (default: 2)

infinigen.assets.utils.draw.bezier_curve(...)[source]#
Parameters:
  • anchors

  • vector_locations -- (default: ())

  • resolution -- (default: None)

  • to_mesh -- (default: True)

infinigen.assets.utils.draw.align_bezier(...)[source]#
Parameters:
  • anchors

  • axes -- (default: None)

  • scale -- (default: None)

  • vector_locations -- (default: ())

  • resolution -- (default: None)

  • to_mesh -- (default: True)

infinigen.assets.utils.draw.remesh_fill(obj, resolution=0.005)[source]#
Parameters:
  • obj

  • resolution -- (default: 0.005)

infinigen.assets.utils.draw.spin(...)[source]#
Parameters:
  • anchors

  • vector_locations -- (default: ())

  • resolution -- (default: None)

  • rotation_resolution -- (default: None)

  • axis -- (default: (0, 0, 1))

  • loop -- (default: False)

  • dupli -- (default: False)

infinigen.assets.utils.draw.leaf(...)[source]#
Parameters:
  • x_anchors

  • y_anchors

  • vector_locations -- (default: ())

  • subdivision -- (default: 64)

  • face_size -- (default: None)

infinigen.assets.utils.draw.cut_plane(...)[source]#
Parameters:
  • obj

  • cut_center

  • cut_normal

  • clear_outer -- (default: True)

infinigen.assets.utils.draw.make_circular_interp(...)[source]#
Parameters:
  • low

  • high

  • n

  • fn -- (default: <built-in method uniform of numpy.random.mtrand.RandomState object>)

extract_nodegroup_parts#

infinigen.assets.utils.extract_nodegroup_parts.extract_nodegroup_geo(...)[source]#
Parameters:
  • target_obj

  • nodegroup

  • k

  • ng_params -- (default: None)

joints#

infinigen.assets.utils.joints.nodegroup_add_jointed_geometry_metadata(*args, **kwargs)[source]#
infinigen.assets.utils.joints.nodegroup_hinge_joint(*args, **kwargs)[source]#
infinigen.assets.utils.joints.nodegroup_sliding_joint(*args, **kwargs)[source]#
infinigen.assets.utils.joints.nodegroup_duplicate_joints_on_parent(*args, **kwargs)[source]#
infinigen.assets.utils.joints.nodegroup_distance_from_center(*args, **kwargs)[source]#

laplacian#

infinigen.assets.utils.laplacian.build_laplacian_3d(...)[source]#
Parameters:
  • n -- (default: 32)

  • t -- (default: 800)

  • k -- (default: 2.0)

  • dt -- (default: 0.0005)

  • tau -- (default: 0.0003)

  • eps -- (default: 0.01)

  • alpha -- (default: 0.9)

  • gamma -- (default: 10.0)

  • teq -- (default: 1.0)

mesh#

infinigen.assets.utils.mesh.build_convex_mesh(n=6, height=0.2, tilt=0.2)[source]#
Parameters:
  • n -- (default: 6)

  • height -- (default: 0.2)

  • tilt -- (default: 0.2)

infinigen.assets.utils.mesh.polygon_angles(n, min_angle=0.524, max_angle=2.094)[source]#
Parameters:
  • n

  • min_angle -- (default: 0.524)

  • max_angle -- (default: 2.094)

infinigen.assets.utils.mesh.longest_ray(obj, obj_, direction)[source]#
Parameters:
  • obj

  • obj

  • direction

infinigen.assets.utils.mesh.treeify(obj)[source]#
Parameters:

obj

infinigen.assets.utils.mesh.convert2ls(obj)[source]#
Parameters:

obj

infinigen.assets.utils.mesh.fix_tree(obj)[source]#
Parameters:

obj

infinigen.assets.utils.mesh.bevel(obj, width, **kwargs)[source]#
Parameters:
  • obj

  • width

infinigen.assets.utils.mesh.canonicalize_ls(line)[source]#
Parameters:

line

infinigen.assets.utils.mesh.canonicalize_mls(mls)[source]#
Parameters:

mls

infinigen.assets.utils.mesh.separate_selected(obj, face=False)[source]#
Parameters:
  • obj

  • face -- (default: False)

infinigen.assets.utils.mesh.snap_mesh(obj, eps=0.001)[source]#
Parameters:
  • obj

  • eps -- (default: 0.001)

infinigen.assets.utils.mesh.prepare_for_boolean(obj)[source]#
Parameters:

obj

misc#

class infinigen.assets.utils.misc.CountInstance(name)[source]#

Bases: object

static count_instance()[source]#
infinigen.assets.utils.misc.sample_direction(min_z)[source]#
Parameters:

min_z

infinigen.assets.utils.misc.subclasses(cls)[source]#
infinigen.assets.utils.misc.make_normalized_factory(cls)[source]#
infinigen.assets.utils.misc.make_circular_angle(xs)[source]#
Parameters:

xs

infinigen.assets.utils.misc.make_circular(xs)[source]#
Parameters:

xs

infinigen.assets.utils.misc.toggle_hide(obj, recursive=True)[source]#
Parameters:
  • obj

  • recursive -- (default: True)

infinigen.assets.utils.misc.toggle_show(obj, recursive=True)[source]#
Parameters:
  • obj

  • recursive -- (default: True)

infinigen.assets.utils.misc.assign_material(obj, material)[source]#
Parameters:
  • obj

  • material

infinigen.assets.utils.misc.generate_text()[source]#

nodegroup#

infinigen.assets.utils.nodegroup.geo_radius(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • radius

  • resolution -- (default: 6)

  • merge_distance -- (default: 0.004)

  • rotation -- (default: 0)

  • to_align_tilt -- (default: True)

  • align_tilt_axis -- (default: (0, 0, 1))

infinigen.assets.utils.nodegroup.geo_selection(nw, selection)[source]#
Parameters:
  • nw (NodeWrangler)

  • selection

infinigen.assets.utils.nodegroup.geo_base_selection(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_obj

  • selection

  • merge_threshold -- (default: 0)

infinigen.assets.utils.nodegroup.align_tilt(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • curve

  • axis -- (default: (1, 0, 0))

  • noise_strength -- (default: 0)

  • noise_scale -- (default: 0.5)

object#

infinigen.assets.utils.object.center(obj)[source]#
Parameters:

obj

infinigen.assets.utils.object.origin2lowest(...)[source]#
Parameters:
  • obj

  • vertical -- (default: False)

  • centered -- (default: False)

  • approximate -- (default: False)

infinigen.assets.utils.object.origin2leftmost(obj)[source]#
Parameters:

obj

infinigen.assets.utils.object.data2mesh(...)[source]#
Parameters:
  • vertices -- (default: ())

  • edges -- (default: ())

  • faces -- (default: ())

  • name -- (default: '')

infinigen.assets.utils.object.mesh2obj(mesh)[source]#
Parameters:

mesh

infinigen.assets.utils.object.trimesh2obj(trimesh)[source]#
Parameters:

trimesh

infinigen.assets.utils.object.obj2trimesh(obj)[source]#
Parameters:

obj

infinigen.assets.utils.object.new_cube(**kwargs)[source]#
infinigen.assets.utils.object.new_bbox(...)[source]#
Parameters:
  • x

  • x

  • y

  • y

  • z

  • z

infinigen.assets.utils.object.new_bbox_2d(...)[source]#
Parameters:
  • x

  • x

  • y

  • y

  • z -- (default: 0)

infinigen.assets.utils.object.new_icosphere(**kwargs)[source]#
infinigen.assets.utils.object.new_circle(**kwargs)[source]#
infinigen.assets.utils.object.new_base_circle(**kwargs)[source]#
infinigen.assets.utils.object.new_empty(**kwargs)[source]#
infinigen.assets.utils.object.new_plane(**kwargs)[source]#
infinigen.assets.utils.object.new_cylinder(**kwargs)[source]#
infinigen.assets.utils.object.new_base_cylinder(**kwargs)[source]#
infinigen.assets.utils.object.new_grid(**kwargs)[source]#
infinigen.assets.utils.object.new_line(subdivisions=1, scale=1.0)[source]#
Parameters:
  • subdivisions -- (default: 1)

  • scale -- (default: 1.0)

infinigen.assets.utils.object.join_objects(obj)[source]#
Parameters:

obj

infinigen.assets.utils.object.separate_loose(obj)[source]#
Parameters:

obj

physics#

class infinigen.assets.utils.physics.EnablePhysics(actives, passives)[source]#

Bases: object

infinigen.assets.utils.physics.free_fall(...)[source]#
Parameters:
  • actives

  • passives

  • place_fn

  • t -- (default: 100)

reaction_diffusion#

infinigen.assets.utils.reaction_diffusion.reaction_diffusion(...)[source]#
Parameters:
  • obj

  • weight_fn

  • steps -- (default: 1000)

  • dt -- (default: 1.0)

  • scale -- (default: 0.5)

  • diff_a -- (default: 0.18)

  • diff_b -- (default: 0.09)

  • feed_rate -- (default: 0.055)

  • kill_rate -- (default: 0.062)

  • perturb -- (default: 0.05)

infinigen.assets.utils.reaction_diffusion.feed2kill(feed)[source]#
Parameters:

feed

infinigen.assets.utils.reaction_diffusion.make_periodic_weight_fn(n_instances, stride=0.1)[source]#
Parameters:
  • n_instances

  • stride -- (default: 0.1)

shapes#

infinigen.assets.utils.shapes.is_valid_polygon(p)[source]#
Parameters:

p

infinigen.assets.utils.shapes.simplify_polygon(p)[source]#
Parameters:

p

infinigen.assets.utils.shapes.cut_polygon_by_line(polygon, *args)[source]#
Parameters:

polygon

infinigen.assets.utils.shapes.safe_polygon2obj(poly, reversed=False, z=0)[source]#
Parameters:
  • poly

  • reversed -- (default: False)

  • z -- (default: 0)

infinigen.assets.utils.shapes.polygon2obj(...)[source]#
Parameters:
  • p

  • reversed -- (default: False)

  • z -- (default: 0)

  • dissolve -- (default: True)

infinigen.assets.utils.shapes.point_normal_up(obj, reversed=False)[source]#
Parameters:
  • obj

  • reversed -- (default: False)

infinigen.assets.utils.shapes.dissolve_limited(obj)[source]#
Parameters:

obj

infinigen.assets.utils.shapes.obj2polygon(obj)[source]#
Parameters:

obj

infinigen.assets.utils.shapes.buffer(p, distance)[source]#
Parameters:
  • p

  • distance

infinigen.assets.utils.shapes.segment_filter(mls, margin)[source]#
Parameters:
  • mls

  • margin

shortest_path#

infinigen.assets.utils.shortest_path.geo_shortest_path(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • end_index

  • weight

  • trim_threshold -- (default: 0.1)

  • offset -- (default: 0.0)

  • merge_threshold -- (default: 0.005)

  • subdiv -- (default: 0)

uv#

infinigen.assets.utils.uv.face_corner2faces(obj)[source]#
Parameters:

obj

infinigen.assets.utils.uv.unwrap_faces(obj, selection=None)[source]#
Parameters:
  • obj

  • selection -- (default: None)

infinigen.assets.utils.uv.compute_uv_direction(...)[source]#
Parameters:
  • obj

  • x -- (default: 'x')

  • y -- (default: 'y')

  • selection -- (default: None)

infinigen.assets.utils.uv.wrap_sides(...)[source]#
Parameters:
  • obj

  • material

  • axes

  • xs

  • ys

  • groupings -- (default: None)

  • selection -- (default: None)

infinigen.assets.utils.uv.wrap_front_back(...)[source]#
Parameters:
  • obj

  • surface

  • shared -- (default: True)

infinigen.assets.utils.uv.wrap_top_bottom(...)[source]#
Parameters:
  • obj

  • surface

  • shared -- (default: True)

infinigen.assets.utils.uv.wrap_front_back_side(...)[source]#
Parameters:
  • obj

  • surface

  • shared -- (default: True)

infinigen.assets.utils.uv.wrap_four_sides(...)[source]#
Parameters:
  • obj

  • surface

  • shared -- (default: True)

infinigen.assets.utils.uv.wrap_six_sides(...)[source]#
Parameters:
  • obj

  • surface

  • shared -- (default: True)

infinigen.assets.utils.uv.unwrap_normal(...)[source]#
Parameters:
  • obj

  • selection -- (default: None)

  • axis -- (default: None)

  • axis -- (default: None)

Module contents#