Asset Utilities (.assets.utils)#
Geometry (.assets.utils.geometry)#
curve#
lofting#
- class infinigen.assets.utils.geometry.lofting.Skin(ts, profiles, profile_as_points=False, angles=None, surface_params=None)[source]#
Bases:
objectDefines 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)
- 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
metaballs#
- class infinigen.assets.utils.geometry.metaballs.MBallStructure(name, resolution=0.1)[source]#
Bases:
object- ellipse(...)[source]#
- Parameters:
pos
rot
length
rad
mode -- (default:
'scale')scale -- (default:
(1, 1, 1))flags -- (default:
{})
nurbs#
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.outerprod_skin(...)[source]#
- Parameters:
ts
rads
profile
profile_as_points -- (default:
False)add_cap -- (default:
True)
Module contents#
Nodegroups (.assets.utils.nodegroups)#
attach#
curve#
geometry#
hair#
math#
sculpt_v1#
shader#
Module contents#
autobevel#
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:
gen (AssetFactory)
inst_seed (int)
use_pholder -- (default:
False)
decorate#
- 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.remove_faces(obj, to_delete, remove_loose=True)[source]#
- Parameters:
obj
to_delete
remove_loose -- (default:
True)
- infinigen.assets.utils.decorate.write_attribute(...)[source]#
- Parameters:
obj
fn
name
domain -- (default:
'POINT')data_type -- (default:
'FLOAT')
- 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))
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)
extract_nodegroup_parts#
joints#
laplacian#
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.separate_selected(obj, face=False)[source]#
- Parameters:
obj
face -- (default:
False)
misc#
- infinigen.assets.utils.misc.toggle_hide(obj, recursive=True)[source]#
- Parameters:
obj
recursive -- (default:
True)
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
object#
- infinigen.assets.utils.object.origin2lowest(...)[source]#
- Parameters:
obj
vertical -- (default:
False)centered -- (default:
False)approximate -- (default:
False)
- infinigen.assets.utils.object.data2mesh(...)[source]#
- Parameters:
vertices -- (default:
())edges -- (default:
())faces -- (default:
())name -- (default:
'')
physics#
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)
shapes#
- 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)
shortest_path#
uv#
- 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)