Objects (.assets.objects)

Contents

Objects (.assets.objects)#

Appliances (.assets.objects.appliances)#

beverage_fridge#

class infinigen.assets.objects.appliances.beverage_fridge.BeverageFridgeFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0])[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

dishwasher#

class infinigen.assets.objects.appliances.dishwasher.DishwasherFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0])[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

microwave#

class infinigen.assets.objects.appliances.microwave.MicrowaveFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0])[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

oven#

class infinigen.assets.objects.appliances.oven.OvenFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0])[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

toaster#

class infinigen.assets.objects.appliances.toaster.ToasterFactory(factory_seed=None, coarse=False, use_transparent_mat=False)[source]#

Bases: AssetFactory

sample_parameters()[source]#
create_asset(...)[source]#
Parameters:
  • export -- (default: True)

  • exporter -- (default: 'mjcf')

  • asset_params -- (default: None)

tv#

class infinigen.assets.objects.appliances.tv.TVFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

property height#
property total_width#
property total_height#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_screen(obj)[source]#
Parameters:

obj

make_base()[source]#
add_two_legs()[source]#
add_single_leg()[source]#
class infinigen.assets.objects.appliances.tv.MonitorFactory(factory_seed, coarse=False)[source]#

Bases: TVFactory

Module contents#

Bathroom (.assets.objects.bathroom)#

bathroom_sink#

class infinigen.assets.objects.bathroom.bathroom_sink.BathroomSinkFactory(factory_seed, coarse=False)[source]#

Bases: BathtubFactory

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
extrude_back(obj)[source]#
Parameters:

obj

add_stand(obj)[source]#
Parameters:

obj

finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.bathroom.bathroom_sink.StandingSinkFactory(factory_seed, coarse=False)[source]#

Bases: BathroomSinkFactory

bathtub#

class infinigen.assets.objects.bathroom.bathtub.BathtubFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

property has_base#
property has_corner#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_freestanding()[source]#
remove_top(obj)[source]#
Parameters:

obj

make_legs(obj)[source]#
Parameters:

obj

add_base(obj)[source]#
Parameters:

obj

make_box_contour(t, i)[source]#
Parameters:
  • t

  • i

make_corner_contour(t, i)[source]#
Parameters:
  • t

  • i

make_base()[source]#
make_bowl()[source]#
make_cutter()[source]#
find_hole(obj, x=None, y=None)[source]#
Parameters:
  • obj

  • x -- (default: None)

  • y -- (default: None)

add_hole(obj)[source]#
Parameters:

obj

finalize_assets(assets)[source]#
Parameters:

assets

hardware#

class infinigen.assets.objects.bathroom.hardware.HardwareFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

make_attachment()[source]#
make_hook()[source]#
make_holder()[source]#
make_bar()[source]#
make_ring()[source]#
create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

toilet#

class infinigen.assets.objects.bathroom.toilet.ToiletFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

property mid_offset#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
build_curve()[source]#
make_tube(lower, upper)[source]#
Parameters:
  • lower

  • upper

make_seat(obj)[source]#
Parameters:

obj

make_plane(obj)[source]#
Parameters:

obj

make_stand(obj, bottom)[source]#
Parameters:
  • obj

  • bottom

make_back(obj)[source]#
Parameters:

obj

make_tank()[source]#
add_button()[source]#
add_handle()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

Cactus (.assets.objects.cactus)#

base#

class infinigen.assets.objects.cactus.base.BaseCactusFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

spike_distance = 0.025#
cap_percentage = 0.1#
noise_strength = 0.02#
base_radius = 0.002#
density = 50000.0#
create_asset(**params) bpy_types.Object[source]#

columnar#

class infinigen.assets.objects.cactus.columnar.ColumnarBaseCactusFactory(factory_seed, coarse=False)[source]#

Bases: BaseCactusFactory

spike_distance = 0.08#
static radius_fn(base_radius, size, resolution)[source]#
Parameters:
  • base_radius

  • size

  • resolution

property branch_config#
create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

static geo_star(nw)[source]#
Parameters:

nw (NodeWrangler)

generate#

class infinigen.assets.objects.cactus.generate.CactusFactory(factory_seed, coarse=False, factory_method=None)[source]#

Bases: AssetFactory

create_asset(face_size=0.01, realize=True, **params)[source]#
Parameters:
  • face_size -- (default: 0.01)

  • realize -- (default: True)

static shader_cactus(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

class infinigen.assets.objects.cactus.generate.GlobularCactusFactory(factory_seed, coarse=False)[source]#

Bases: CactusFactory

class infinigen.assets.objects.cactus.generate.ColumnarCactusFactory(factory_seed, coarse=False)[source]#

Bases: CactusFactory

class infinigen.assets.objects.cactus.generate.PrickyPearCactusFactory(factory_seed, coarse=False)[source]#

Bases: CactusFactory

class infinigen.assets.objects.cactus.generate.KalidiumCactusFactory(factory_seed, coarse=False)[source]#

Bases: CactusFactory

globular#

class infinigen.assets.objects.cactus.globular.GlobularBaseCactusFactory(factory_seed, coarse=False)[source]#

Bases: BaseCactusFactory

spike_distance = 0.08#
static geo_globular(nw)[source]#
Parameters:

nw (NodeWrangler)

create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

kalidium#

class infinigen.assets.objects.cactus.kalidium.KalidiumBaseCactusFactory(factory_seed, coarse=False)[source]#

Bases: BaseCactusFactory

cap_percentage = 0.0#
noise_strength = 0.0#
density = 0.0#
static build_twig(i)[source]#
Parameters:

i

create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

static geo_twigs(nw, instances)[source]#
Parameters:
  • nw (NodeWrangler)

  • instances

pricky_pear#

class infinigen.assets.objects.cactus.pricky_pear.PrickyPearBaseCactusFactory(factory_seed, coarse=False)[source]#

Bases: BaseCactusFactory

spike_distance = 0.08#
static geo_leaf(nw)[source]#
Parameters:

nw (NodeWrangler)

build_leaf()[source]#
build_leaves(level=0)[source]#
Parameters:

level -- (default: 0)

create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

spike#

infinigen.assets.objects.cactus.spike.make_default_selections(spike_distance, cap_percentage, density)[source]#
Parameters:
  • spike_distance

  • cap_percentage

  • density

infinigen.assets.objects.cactus.spike.shader_spikes(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.cactus.spike.apply(...)[source]#
Parameters:
  • obj

  • points_fn

  • base_radius -- (default: 0.002)

  • realize -- (default: True)

Module contents#

Clothes (.assets.objects.clothes)#

blanket#

class infinigen.assets.objects.clothes.blanket.BlanketFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
fold(obj)[source]#
Parameters:

obj

class infinigen.assets.objects.clothes.blanket.ComforterFactory(factory_seed, coarse=False)[source]#

Bases: BlanketFactory

create_asset(**params) bpy_types.Object[source]#
class infinigen.assets.objects.clothes.blanket.BoxComforterFactory(factory_seed, coarse=False)[source]#

Bases: ComforterFactory

create_asset(**params) bpy_types.Object[source]#

pants#

class infinigen.assets.objects.clothes.pants.PantsFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#

shirt#

class infinigen.assets.objects.clothes.shirt.ShirtFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#

towel#

class infinigen.assets.objects.clothes.towel.TowelFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

fold(obj)[source]#
Parameters:

obj

compute_roll_total()[source]#
pre_roll(obj)[source]#
Parameters:

obj

roll(obj, i)[source]#
Parameters:
  • obj

  • i

create_asset(**params) bpy_types.Object[source]#

Module contents#

Cloud (.assets.objects.cloud)#

cloud#

class infinigen.assets.objects.cloud.cloud.Cumulus(name, ref_cloud)[source]#

Bases: object

DENSITY_RANGE = [1.0, 1.0]#
ANISOTROPY_RANGE = [-0.5, 0.5]#
NOISE_SCALE_RANGE = [8.0, 16.0]#
NOISE_DETAIL_RANGE = [1.0, 16.0]#
VORONOI_SCALE_RANGE = [2.0, 6.0]#
MIX_FACTOR_RANGE = [0.3, 0.8]#
ANGLE_ROTATE_RANGE = [0.0, 0.7853981633974483]#
EMISSION_RANGE = [0.0, 0.0]#
PLACEHOLDER_DENSITY = 32.0#
MAX_EXPECTED_SCALE = 128.0#
PLANE_SCALES = [16, 16, 4]#
get_scale()[source]#
get_curve_func()[source]#
get_params()[source]#
update_geo_params(geo_params)[source]#
Parameters:

geo_params

update_shader_params(shader_params)[source]#
Parameters:

shader_params

get_node_params()[source]#
sample_curves()[source]#
make_cloud(marching_cubes=False, resolution=128, selection=None)[source]#
Parameters:
  • marching_cubes -- (default: False)

  • resolution -- (default: 128)

  • selection -- (default: None)

class infinigen.assets.objects.cloud.cloud.Cumulonimbus(name, ref_cloud)[source]#

Bases: Cumulus

DENSITY_RANGE = [1.0, 1.0]#
EMISSION_RANGE = [0.01, 0.01]#
PLACEHOLDER_DENSITY = 8.0#
MAX_EXPECTED_SCALE = 2048.0#
PLANE_SCALES = [16, 16, 32]#
sample_curves()[source]#
make_cloud(marching_cubes=False, resolution=128, selection=None)[source]#
Parameters:
  • marching_cubes -- (default: False)

  • resolution -- (default: 128)

  • selection -- (default: None)

get_scale()[source]#
update_shader_params(shader_params)[source]#
Parameters:

shader_params

class infinigen.assets.objects.cloud.cloud.Stratocumulus(name, ref_cloud)[source]#

Bases: Cumulus

ANGLE_ROTATE_RANGE = [0.0, 0.7853981633974483]#
update_shader_params(shader_params)[source]#
Parameters:

shader_params

get_scale()[source]#
get_curve_func()[source]#
sample_y_curves()[source]#
sample_curves()[source]#
class infinigen.assets.objects.cloud.cloud.Altocumulus(name, ref_cloud)[source]#

Bases: Cumulus

SCATTER_VORONOI_SCALE_RANGE = [1.0, 4.0]#
SCATTER_GRID_VERTICES_RANGE = [4, 12]#
NUM_SUBCLOUDS = 8#
get_scale()[source]#
get_params()[source]#
update_shader_params(shader_params)[source]#
Parameters:

shader_params

get_node_params()[source]#
make_cloud(marching_cubes=False, resolution=128, selection=None)[source]#
Parameters:
  • marching_cubes -- (default: False)

  • resolution -- (default: 128)

  • selection -- (default: None)

class infinigen.assets.objects.cloud.cloud.LinkObject(obj)[source]#

Bases: object

infinigen.assets.objects.cloud.cloud.create_3d_grid(steps=64)[source]#
Parameters:

steps -- (default: 64)

generate#

class infinigen.assets.objects.cloud.generate.CloudFactory(
factory_seed,
coarse=False,
terrain_mesh=None,
max_distance=300,
steps=128,
cloudy=('bool', 0.01),
)[source]#

Bases: AssetFactory

spawn_locations()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(distance, **kwargs)[source]#
Parameters:

distance

static geo_dome(...)[source]#
Parameters:
  • nw

  • dome_radius

  • dome_threshold

  • density_range

  • min_distance

class infinigen.assets.objects.cloud.generate.CumulonimbusFactory(factory_seed, coarse=False, max_distance=300, steps=128)[source]#

Bases: CloudFactory

class infinigen.assets.objects.cloud.generate.CumulusFactory(factory_seed, coarse=False, max_distance=300, steps=128)[source]#

Bases: CloudFactory

class infinigen.assets.objects.cloud.generate.StratocumulusFactory(factory_seed, coarse=False, max_distance=300, steps=128)[source]#

Bases: CloudFactory

class infinigen.assets.objects.cloud.generate.AltocumulusFactory(factory_seed, coarse=False, max_distance=300, steps=128)[source]#

Bases: CloudFactory

node#

infinigen.assets.objects.cloud.node.geometry_func(points_only=False, resolution=256)[source]#
Parameters:
  • points_only -- (default: False)

  • resolution -- (default: 256)

infinigen.assets.objects.cloud.node.shader_material(...)[source]#
Parameters:
  • nw

  • density

  • anisotropy

  • noise_scale

  • noise_detail

  • voronoi_scale

  • mix_factor

  • emission_strength

infinigen.assets.objects.cloud.node.scatter_func(points_only=False, resolution=256)[source]#
Parameters:
  • points_only -- (default: False)

  • resolution -- (default: 256)

Module contents#

Corals (.assets.objects.corals)#

base#

class infinigen.assets.objects.corals.base.BaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

tentacle_distance = 0.05#
default_scale = [0.8, 0.8, 0.8]#
noise_strength = 0.02#
tentacle_prob = 0.5#
bump_prob = 0.3#
density = 500#
create_asset(**params) bpy_types.Object[source]#

diff_growth#

class infinigen.assets.objects.corals.diff_growth.DiffGrowthBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

default_scale = [1, 1, 1]#
static diff_growth_make(name, n_colonies=1, **kwargs)[source]#
Parameters:
  • name

  • n_colonies -- (default: 1)

static leather_make()[source]#
static flat_make()[source]#
create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

class infinigen.assets.objects.corals.diff_growth.LeatherBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: DiffGrowthBaseCoralFactory

class infinigen.assets.objects.corals.diff_growth.TableBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: DiffGrowthBaseCoralFactory

elkhorn#

class infinigen.assets.objects.corals.elkhorn.ElkhornBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

tentacle_prob = 0.0#
noise_strength = 0.005#
static geo_elkhorn(nw)[source]#
Parameters:

nw (NodeWrangler)

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

static tree2mesh(obj, locations)[source]#
Parameters:
  • obj

  • locations

static build_angles(obj)[source]#
Parameters:

obj

static cluster_displace(obj, angles)[source]#
Parameters:
  • obj

  • angles

fan#

class infinigen.assets.objects.corals.fan.FanBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

tentacle_prob = 0.0#
noise_strength = 0.0#
static weight(nw)[source]#
Parameters:

nw (NodeWrangler)

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

static add_radius(obj)[source]#
Parameters:

obj

generate#

class infinigen.assets.objects.corals.generate.CoralFactory(factory_seed, coarse=False, factory_method=None)[source]#

Bases: AssetFactory

create_asset(face_size=0.01, realize=True, **params)[source]#
Parameters:
  • face_size -- (default: 0.01)

  • realize -- (default: True)

apply_noise_texture(obj)[source]#
Parameters:

obj

apply_bump(obj)[source]#
Parameters:

obj

static build_base_hue()[source]#
static shader_coral(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

class infinigen.assets.objects.corals.generate.LeatherCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.TableCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.CauliflowerCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.BrainCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.HoneycombCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.BushCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.TwigCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.TubeCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.FanCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.ElkhornCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

class infinigen.assets.objects.corals.generate.StarCoralFactory(factory_seed, coarse=False)[source]#

Bases: CoralFactory

laplacian#

class infinigen.assets.objects.corals.laplacian.CauliflowerBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

tentacle_prob = 0.4#
noise_strength = 0.015#
create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

reaction_diffusion#

class infinigen.assets.objects.corals.reaction_diffusion.ReactionDiffusionBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

tentacle_prob = 0.0#
noise_strength = 0.01#
static reaction_diffusion_make(weight_fn, **kwargs)[source]#
Parameters:

weight_fn

static brain_make()[source]#
static honeycomb_make()[source]#
create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

class infinigen.assets.objects.corals.reaction_diffusion.BrainBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: ReactionDiffusionBaseCoralFactory

class infinigen.assets.objects.corals.reaction_diffusion.HoneycombBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: ReactionDiffusionBaseCoralFactory

star#

class infinigen.assets.objects.corals.star.StarBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

tentacle_prob = 1.0#
noise_strength = 0.002#
density = 3000#
static points_fn(nw, points)[source]#
Parameters:
  • nw (NodeWrangler)

  • points

static geo_dual_mesh(nw)[source]#
Parameters:

nw (NodeWrangler)

static geo_separate_faces(nw)[source]#
Parameters:

nw (NodeWrangler)

static geo_flower(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • size

  • resolution

  • anchor

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

tentacles#

infinigen.assets.objects.corals.tentacles.make_radius_points_fn(min_distance, radius_threshold)[source]#
Parameters:
  • min_distance

  • radius_threshold

infinigen.assets.objects.corals.tentacles.make_upward_points_fn(min_distance, max_angle)[source]#
Parameters:
  • min_distance

  • max_angle

infinigen.assets.objects.corals.tentacles.shader_tentacles(nw, base_hue=0.3)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue -- (default: 0.3)

infinigen.assets.objects.corals.tentacles.apply(...)[source]#
Parameters:
  • obj

  • points_fn

  • density

  • realize -- (default: True)

  • base_hue -- (default: 0.3)

tree#

class infinigen.assets.objects.corals.tree.TreeBaseCoralFactory(factory_seed, coarse=False, method=None)[source]#

Bases: BaseCoralFactory

default_scale = [1, 1, 1]#
tentacle_prob = 0.8#
noise_strength = 0.01#
property bush_config#
property twig_config#
static radius_fn(base_radius, size, resolution)[source]#
Parameters:
  • base_radius

  • size

  • resolution

create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

class infinigen.assets.objects.corals.tree.TwigBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: TreeBaseCoralFactory

class infinigen.assets.objects.corals.tree.BushBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: TreeBaseCoralFactory

tube#

class infinigen.assets.objects.corals.tube.TubeBaseCoralFactory(factory_seed, coarse=False)[source]#

Bases: BaseCoralFactory

default_scale = [0.7, 0.7, 0.7]#
create_asset(face_size=0.01, **params) bpy_types.Object[source]#
Parameters:

face_size -- (default: 0.01)

static geo_coral_tube(nw)[source]#
Parameters:

nw (NodeWrangler)

Module contents#

Creatures (.assets.objects.creatures)#

Insects (.assets.objects.creatures.insects)#

Parts (.assets.objects.creatures.insects.parts)#

Antenna (.assets.objects.creatures.insects.parts.antenna)#
dragonfly_antenna#
infinigen.assets.objects.creatures.insects.parts.antenna.dragonfly_antenna.nodegroup_dragonfly_antenna(*args, **kwargs)[source]#
Body (.assets.objects.creatures.insects.parts.body)#
dragonfly_body#
infinigen.assets.objects.creatures.insects.parts.body.dragonfly_body.shader_dragonfly_body_shader(nw, base_color, v)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_color

  • v

infinigen.assets.objects.creatures.insects.parts.body.dragonfly_body.nodegroup_dragonfly_body(*args, **kwargs)[source]#
Eye (.assets.objects.creatures.insects.parts.eye)#
dragonfly_eye#
infinigen.assets.objects.creatures.insects.parts.eye.dragonfly_eye.shader_dragonfly_eye_shader(nw, base_color, v)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_color

  • v

infinigen.assets.objects.creatures.insects.parts.eye.dragonfly_eye.nodegroup_dragonfly_eye(*args, **kwargs)[source]#
Hair (.assets.objects.creatures.insects.parts.hair)#
principled_hair#
infinigen.assets.objects.creatures.insects.parts.hair.principled_hair.nodegroup_principled_hair(*args, **kwargs)[source]#
Head (.assets.objects.creatures.insects.parts.head)#
dragonfly_head#
infinigen.assets.objects.creatures.insects.parts.head.dragonfly_head.shader_dragonfly_head_shader(nw, base_color, v)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_color

  • v

infinigen.assets.objects.creatures.insects.parts.head.dragonfly_head.nodegroup_dragon_fly_head(*args, **kwargs)[source]#
Leg (.assets.objects.creatures.insects.parts.leg)#
dragonfly_leg#
infinigen.assets.objects.creatures.insects.parts.leg.dragonfly_leg.nodegroup_leg_control(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.parts.leg.dragonfly_leg.nodegroup_dragonfly_leg(*args, **kwargs)[source]#
Mouth (.assets.objects.creatures.insects.parts.mouth)#
dragonfly_mouth#
infinigen.assets.objects.creatures.insects.parts.mouth.dragonfly_mouth.nodegroup_dragonfly_mouth(*args, **kwargs)[source]#
Tail (.assets.objects.creatures.insects.parts.tail)#
dragonfly_tail#
infinigen.assets.objects.creatures.insects.parts.tail.dragonfly_tail.shader_dragonfly_tail_shader(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_color

  • v

  • ring_length

infinigen.assets.objects.creatures.insects.parts.tail.dragonfly_tail.nodegroup_dragonfly_tail(*args, **kwargs)[source]#
Wing (.assets.objects.creatures.insects.parts.wing)#
dragonfly_wing#
infinigen.assets.objects.creatures.insects.parts.wing.dragonfly_wing.nodegroup_dragonfly_wing(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.parts.wing.dragonfly_wing.shader_wing_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

Utils (.assets.objects.creatures.insects.utils)#

geom_utils#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_symmetric_clone(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_add_hair(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_attach_part(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_random_rotation_scale(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_instance_on_points(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.shader_dragonfly_body_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_surface_bump(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_circle_cross_section(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_shape_quadratic(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.geom_utils.nodegroup_simple_tube_v2(*args, **kwargs)[source]#
shader_utils#
infinigen.assets.objects.creatures.insects.utils.shader_utils.shader_black_w_noise_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.insects.utils.shader_utils.nodegroup_add_noise(*args, **kwargs)[source]#
infinigen.assets.objects.creatures.insects.utils.shader_utils.nodegroup_color_noise(*args, **kwargs)[source]#

dragonfly#

class infinigen.assets.objects.creatures.insects.dragonfly.DragonflyFactory(factory_seed, coarse=False, bvh=None, **_)[source]#

Bases: AssetFactory

static sample_geo_genome()[source]#
create_placeholder(i, loc, rot)[source]#
Parameters:
  • i

  • loc

  • rot

create_asset(placeholder, **params)[source]#
Parameters:

placeholder

Module contents#

Parts (.assets.objects.creatures.parts)#

Crustacean (.assets.objects.creatures.parts.crustacean)#

antenna#
class infinigen.assets.objects.creatures.parts.crustacean.antenna.LobsterAntennaFactory(params=None, sample=True)[source]#

Bases: CrabLegFactory

tag = ['claw']#
make_part(
params,
) Part[source]#
Parameters:

params

static animate_bones(arma, bones, params)[source]#
Parameters:
  • arma

  • bones

  • params

sample_params()[source]#
class infinigen.assets.objects.creatures.parts.crustacean.antenna.SpinyLobsterAntennaFactory(params=None, sample=True)[source]#

Bases: LobsterAntennaFactory

tag = ['claw']#
sample_params()[source]#
body#
class infinigen.assets.objects.creatures.parts.crustacean.body.CrabBodyFactory(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body']#
min_spike_distance = 0.1#
min_spike_radius = 0.02#
make_part(
params,
) Part[source]#
Parameters:

params

add_head(obj, params)[source]#
Parameters:
  • obj

  • params

static make_surface(params)[source]#
Parameters:

params

make_surface_side(obj, params, prefix='upper')[source]#
Parameters:
  • obj

  • params

  • prefix -- (default: 'upper')

add_spikes(obj, params)[source]#
Parameters:
  • obj

  • params

add_mouth(obj, params)[source]#
Parameters:
  • obj

  • params

sample_params()[source]#
class infinigen.assets.objects.creatures.parts.crustacean.body.LobsterBodyFactory(params=None, sample=True)[source]#

Bases: CrabBodyFactory

tags = ['body']#
min_spike_distance = 0.08#
min_spike_radius = 0.01#
make_part(
params,
) Part[source]#
Parameters:

params

sample_params()[source]#
claw#
class infinigen.assets.objects.creatures.parts.crustacean.claw.CrabClawFactory(params=None, sample=True)[source]#

Bases: CrabLegFactory

tags = ['claw']#
min_spike_radius = 0.01#
make_part(
params,
) Part[source]#
Parameters:

params

make_claw(params)[source]#
Parameters:

params

static animate_bones(arma, bones, params)[source]#
Parameters:
  • arma

  • bones

  • params

sample_params()[source]#
class infinigen.assets.objects.creatures.parts.crustacean.claw.LobsterClawFactory(params=None, sample=True)[source]#

Bases: CrabClawFactory

sample_params()[source]#
eye#
class infinigen.assets.objects.creatures.parts.crustacean.eye.CrustaceanEyeFactory(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['eye']#
min_spike_distance = 0.05#
min_spike_radius = 0.02#
make_part(
params,
) Part[source]#
Parameters:

params

sample_params()[source]#
fin#
class infinigen.assets.objects.creatures.parts.crustacean.fin.CrustaceanFinFactory(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body']#
make_part(
params,
) Part[source]#
Parameters:

params

sample_params()[source]#
leg#
class infinigen.assets.objects.creatures.parts.crustacean.leg.CrabLegFactory(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['leg']#
make_part(
params,
) Part[source]#
Parameters:

params

make_segments(params)[source]#
Parameters:

params

sample_params()[source]#
static animate_bones(arma, bones, params)[source]#
Parameters:
  • arma

  • bones

  • params

class infinigen.assets.objects.creatures.parts.crustacean.leg.LobsterLegFactory(params=None, sample=True)[source]#

Bases: CrabLegFactory

sample_params()[source]#
tail#
class infinigen.assets.objects.creatures.parts.crustacean.tail.CrustaceanTailFactory(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body']#
make_part(
params,
) Part[source]#
Parameters:

params

make_segments(params)[source]#
Parameters:

params

sample_params()[source]#
static animate_bones(arma, bones, params)[source]#
Parameters:
  • arma

  • bones

  • params

Module contents#

Utils (.assets.objects.creatures.parts.utils)#

draw#
infinigen.assets.objects.creatures.parts.utils.draw.make_segments(...)[source]#
Parameters:
  • x_cuts

  • y_cuts

  • x_anchors

  • y_anchors

  • params

infinigen.assets.objects.creatures.parts.utils.draw.decorate_segment(...)[source]#
Parameters:
  • obj

  • params

  • x_start

  • x_end

infinigen.assets.objects.creatures.parts.utils.draw.geo_symmetric_texture(nw, offset, selection=None)[source]#
Parameters:
  • nw (NodeWrangler)

  • offset

  • selection -- (default: None)

beak#

class infinigen.assets.objects.creatures.parts.beak.Beak(**kwargs)[source]#

Bases: object

cx(x)[source]#
Parameters:

x

cy(x)[source]#
Parameters:

x

cz(x)[source]#
Parameters:

x

sigmoid(x)[source]#
Parameters:

x

exp(a, b, x)[source]#
Parameters:
  • a

  • b

  • x

hook(...)[source]#
Parameters:
  • scale

  • a

  • b

  • p

  • t

  • x

  • theta

bump(...)[source]#
Parameters:
  • scale

  • x

  • lower

  • upper

crown(...)[source]#
Parameters:
  • scale

  • a

  • b

  • p

  • x

  • theta

dx(x, theta)[source]#
Parameters:
  • x

  • theta

dy(x)[source]#
Parameters:

x

dz(x, theta)[source]#
Parameters:
  • x

  • theta

generate()[source]#
class infinigen.assets.objects.creatures.parts.beak.BirdBeak(params=None, sample=True)[source]#

Bases: PartFactory

param_templates = {'duck': {'lower': {'bump_l': 0.3, 'bump_r': 1.0, 'bump_scale_z': 0.03, 'crown_a': 0.1, 'crown_b': 5.0, 'crown_pos_z': 0.3, 'crown_scale_z': 0.1, 'cy_a': 10.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.9, 'hook_pos_z': 0.6, 'hook_scale_x': -1.5, 'hook_scale_z': -0.4, 'hook_thickness_x': 0.0, 'hook_thickness_z': 0.0, 'm': 20, 'n': 50, 'r': 0.4, 'reverse': -1, 'sharpness': -0.5, 'sx': 0.97, 'sy': 0.4, 'sz': 0.1}, 'range': {'bump_l': array([0. , 0.4]), 'bump_r': array([0.6, 1. ]), 'bump_scale_z': array([0.  , 0.03]), 'crown_a': array([0.1, 0.8]), 'crown_b': array([0, 2]), 'crown_pos_z': array([0. , 0.5]), 'crown_scale_z': array([0. , 0.3]), 'cy_a': array([ 1, 10]), 'cz_a': array([1, 5]), 'hook_a': array([0.1, 0.8]), 'hook_b': array([1, 5]), 'hook_pos_x': array([0.5, 1. ]), 'hook_pos_z': array([0.5, 1. ]), 'hook_scale_x': array([-0.5,  0.5]), 'hook_scale_z': array([-0.5,  0.5]), 'hook_thickness_x': array([0. , 0.5]), 'hook_thickness_z': array([0. , 0.5]), 'r': array([0.3, 1. ]), 'sharpness': array([-0.5,  0.5]), 'sx': array([0.2, 1. ]), 'sy': array([0.2, 1. ]), 'sz': array([0.2, 1. ])}, 'upper': {'bump_l': 0.4, 'bump_r': 1.0, 'bump_scale_z': 0.02, 'crown_a': 0.1, 'crown_b': 5.0, 'crown_pos_z': 0.3, 'crown_scale_z': 0.3, 'cy_a': 10.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.9, 'hook_pos_z': 0.6, 'hook_scale_x': -1.5, 'hook_scale_z': 0.4, 'hook_thickness_x': 0.0, 'hook_thickness_z': 0.2, 'm': 20, 'n': 50, 'r': 0.4, 'reverse': 1, 'sharpness': -0.5, 'sx': 1.0, 'sy': 0.4, 'sz': 0.5}}, 'eagle': {'lower': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 5.0, 'hook_pos_x': 0.72, 'hook_pos_z': 0.6, 'hook_scale_x': 0.0, 'hook_scale_z': 0.1, 'hook_thickness_x': 0.35, 'hook_thickness_z': -0.2, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': -1, 'sharpness': 0.0, 'sx': 0.4, 'sy': 0.4, 'sz': 0.2}, 'range': {'bump_l': array([0. , 0.4]), 'bump_r': array([0.6, 1. ]), 'bump_scale_z': array([0.  , 0.03]), 'crown_a': array([0.1, 0.8]), 'crown_b': array([0, 2]), 'crown_pos_z': array([0. , 0.5]), 'crown_scale_z': array([0. , 0.3]), 'cy_a': array([ 1, 10]), 'cz_a': array([1, 5]), 'hook_a': array([0.1, 0.8]), 'hook_b': array([1, 5]), 'hook_pos_x': array([0.5, 1. ]), 'hook_pos_z': array([0.5, 1. ]), 'hook_scale_x': array([-0.5,  0.5]), 'hook_scale_z': array([-0.5,  0.5]), 'hook_thickness_x': array([0. , 0.5]), 'hook_thickness_z': array([0. , 0.5]), 'r': array([0.3, 1. ]), 'sharpness': array([-0.5,  0.5]), 'sx': array([0.2, 1. ]), 'sy': array([0.2, 1. ]), 'sz': array([0.2, 1. ])}, 'upper': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 5.0, 'hook_pos_x': 0.72, 'hook_pos_z': 0.7, 'hook_scale_x': -1.0, 'hook_scale_z': -0.8, 'hook_thickness_x': 0.35, 'hook_thickness_z': 0.0, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': 1, 'sharpness': 0.0, 'sx': 0.8, 'sy': 0.4, 'sz': 1.0}}, 'normal': {'lower': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.72, 'hook_pos_z': 0.7, 'hook_scale_x': 0.0, 'hook_scale_z': 0.8, 'hook_thickness_x': 0.35, 'hook_thickness_z': 0.0, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': -1, 'sharpness': 0.0, 'sx': 0.7, 'sy': 0.3, 'sz': 0.3}, 'range': {'bump_l': array([0. , 0.4]), 'bump_r': array([0.6, 1. ]), 'bump_scale_z': array([0.  , 0.03]), 'crown_a': array([0.1, 0.8]), 'crown_b': array([0, 2]), 'crown_pos_z': array([0. , 0.5]), 'crown_scale_z': array([0. , 0.3]), 'cy_a': array([ 1, 10]), 'cz_a': array([1, 5]), 'hook_a': array([0.1, 0.8]), 'hook_b': array([1, 5]), 'hook_pos_x': array([0.5, 1. ]), 'hook_pos_z': array([0.5, 1. ]), 'hook_scale_x': array([-0.5,  0.5]), 'hook_scale_z': array([-0.5,  0.5]), 'hook_thickness_x': array([0. , 0.5]), 'hook_thickness_z': array([0. , 0.5]), 'r': array([0.3, 1. ]), 'sharpness': array([-0.5,  0.5]), 'sx': array([0.2, 1. ]), 'sy': array([0.2, 1. ]), 'sz': array([0.2, 1. ])}, 'upper': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.72, 'hook_pos_z': 0.7, 'hook_scale_x': 0.0, 'hook_scale_z': -0.8, 'hook_thickness_x': 0.35, 'hook_thickness_z': 0.0, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': 1, 'sharpness': 0.0, 'sx': 0.7, 'sy': 0.3, 'sz': 0.5}}, 'short': {'lower': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 1.1, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.8, 'hook_pos_z': 0.7, 'hook_scale_x': -0.5, 'hook_scale_z': 0.15, 'hook_thickness_x': 0.35, 'hook_thickness_z': 0.0, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': -1, 'sharpness': 0.0, 'sx': 0.25, 'sy': 0.3, 'sz': 0.3}, 'range': {'bump_l': array([0. , 0.4]), 'bump_r': array([0.6, 1. ]), 'bump_scale_z': array([0.  , 0.03]), 'crown_a': array([0.1, 0.8]), 'crown_b': array([0, 2]), 'crown_pos_z': array([0. , 0.5]), 'crown_scale_z': array([0. , 0.3]), 'cy_a': array([ 1, 10]), 'cz_a': array([1, 5]), 'hook_a': array([0.1, 0.8]), 'hook_b': array([1, 5]), 'hook_pos_x': array([0.5, 1. ]), 'hook_pos_z': array([0.5, 1. ]), 'hook_scale_x': array([-0.5,  0.5]), 'hook_scale_z': array([-0.5,  0.5]), 'hook_thickness_x': array([0. , 0.5]), 'hook_thickness_z': array([0. , 0.5]), 'r': array([0.3, 1. ]), 'sharpness': array([-0.5,  0.5]), 'sx': array([0.2, 1. ]), 'sy': array([0.2, 1. ]), 'sz': array([0.2, 1. ])}, 'upper': {'bump_l': 0.5, 'bump_r': 0.5, 'bump_scale_z': 0.0, 'crown_a': 0.5, 'crown_b': 0.5, 'crown_pos_z': 0.5, 'crown_scale_z': 0.0, 'cy_a': 1.0, 'cz_a': 2.0, 'hook_a': 0.1, 'hook_b': 2.0, 'hook_pos_x': 0.8, 'hook_pos_z': 0.7, 'hook_scale_x': -0.5, 'hook_scale_z': -0.15, 'hook_thickness_x': 0.35, 'hook_thickness_z': 0.0, 'm': 20, 'n': 20, 'r': 0.4, 'reverse': 1, 'sharpness': 0.0, 'sx': 0.25, 'sy': 0.3, 'sz': 0.3}}}#
tags = ['head_detail', 'rigid']#
unit_scale = (0.5, 0.5, 0.5)#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(params, scale)[source]#
Parameters:
  • params

  • scale

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.beak.FlyingBirdBeak(params=None, sample=True)[source]#

Bases: BirdBeak

sample_params(select='normal', var=1)[source]#
Parameters:
  • select -- (default: 'normal')

  • var -- (default: 1)

make_part(params)[source]#
Parameters:

params

body#

class infinigen.assets.objects.creatures.parts.body.QuadrupedBody(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body', 'head']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.body.FishBody(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.body.BirdBody(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['body']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

chameleon#

class infinigen.assets.objects.creatures.parts.chameleon.Chameleon(params=None, sample=True)[source]#

Bases: PartFactory

param_templates = {}#
tags = []#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

make_part(params)[source]#
Parameters:

params

infinigen.assets.objects.creatures.parts.chameleon.shader_chameleon(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.parts.chameleon.shader_chameleon_eye(nw)[source]#
Parameters:

nw (NodeWrangler)

eye#

class infinigen.assets.objects.creatures.parts.eye.MammalEye(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head_detail', 'eye_socket']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

infinigen.assets.objects.creatures.parts.eye.nodegroup_mammal_eye(*args, **kwargs)[source]#

eye_new#

class infinigen.assets.objects.creatures.parts.eye_new.Eye(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head_detail', 'eye_socket']#
sample_params()[source]#
sample_params_fish()[source]#
make_part(params)[source]#
Parameters:

params

infinigen.assets.objects.creatures.parts.eye_new.shader_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.parts.eye_new.shader_eyeball_fish(nw, rand=True, **input_kwargs)[source]#
Parameters:
  • nw (NodeWrangler)

  • rand -- (default: True)

infinigen.assets.objects.creatures.parts.eye_new.shader_eyeball_tiger(nw, **input_kwargs)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.parts.eye_new.apply(...)[source]#
Parameters:
  • obj

  • geo_kwargs -- (default: None)

  • shader_kwargs -- (default: None)

fin_old#

class infinigen.assets.objects.creatures.parts.fin_old.FishFin(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['limb', 'fin']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.fin_old.FishTail(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['tail']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

foot#

class infinigen.assets.objects.creatures.parts.foot.Foot(params=None, bald=False)[source]#

Bases: PartFactory

sample_params()[source]#
make_part(params)[source]#
Parameters:

params

generic_nurbs#

class infinigen.assets.objects.creatures.parts.generic_nurbs.NurbsPart(params=None, prefix=None, tags=None, temperature=0.3, var=1, exps=None)[source]#

Bases: PartFactory

sample_params(select=None)[source]#
Parameters:

select -- (default: None)

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.generic_nurbs.NurbsBody(
*args,
shoulder_ik_ts=[0.0, 0.6],
n_bones=8,
rig_reverse_skeleton=False,
**kwargs,
)[source]#

Bases: NurbsPart

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.generic_nurbs.NurbsHead(params=None, prefix=None, tags=None, temperature=0.3, var=1, exps=None)[source]#

Bases: NurbsPart

make_part(params)[source]#
Parameters:

params

head#

class infinigen.assets.objects.creatures.parts.head.Neck(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['neck']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head.CarnivoreHead(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head.CarnivoreJaw(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head', 'jaw']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head.BirdHead(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head.FlyingBirdHead(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

head_detail#

class infinigen.assets.objects.creatures.parts.head_detail.CatEar(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head_detail']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head_detail.CatNose(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head_detail']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.head_detail.InsectMandible(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['head_detail', 'rigid', 'bald']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

hoof#

class infinigen.assets.objects.creatures.parts.hoof.Hoof(**kwargs)[source]#

Bases: object

scale(p)[source]#
Parameters:

p

transform(p)[source]#
Parameters:

p

down(p, theta)[source]#
Parameters:
  • p

  • theta

get_shape()[source]#
make_face(obj)[source]#
Parameters:

obj

generate()[source]#
class infinigen.assets.objects.creatures.parts.hoof.HoofClaw(params=None, sample=True)[source]#

Bases: PartFactory

param_templates = {}#
tags = ['head_detail', 'rigid']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.hoof.HoofAnkle(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['foot_detail', 'rigid']#
ankle_scale = (0.8, 0.8, 0.8)#
sample_params(var=1)[source]#
Parameters:

var -- (default: 1)

make_part(params)[source]#
Parameters:

params

horn#

class infinigen.assets.objects.creatures.parts.horn.Horn(params=None, sample=True)[source]#

Bases: PartFactory

param_templates = {'bull': {'horn': {'density_of_ridge': 150, 'depth_of_ridge': 0.01, 'height': -0.1, 'length': 0.1, 'rad1': 0.5, 'rad2': 0.1, 'rotation_x': -1, 'thickness': 0.1}, 'range': {'density_of_ridge': array([100, 300]), 'depth_of_ridge': array([0.01, 0.1 ]), 'height': array([-0.3,  0.3]), 'length': array([0.1, 0.6]), 'rad1': array([0.1, 1. ]), 'rad2': array([0.1, 1. ]), 'rotation_x': array([-1,  1]), 'thickness': array([0.05, 0.3 ])}}, 'gazelle': {'horn': {'density_of_ridge': 150, 'depth_of_ridge': 0.1, 'height': 0.1, 'length': 0.4, 'rad1': 0.7, 'rad2': 0.5, 'rotation_x': 0, 'thickness': 0.1}, 'range': {'density_of_ridge': array([100, 300]), 'depth_of_ridge': array([0.01, 0.1 ]), 'height': array([-0.3,  0.3]), 'length': array([0.1, 0.6]), 'rad1': array([0.1, 1. ]), 'rad2': array([0.1, 1. ]), 'rotation_x': array([-1,  1]), 'thickness': array([0.05, 0.3 ])}}, 'goat': {'horn': {'density_of_ridge': 250, 'depth_of_ridge': 0.02, 'height': 0.1, 'length': 0.5, 'rad1': 0.18, 'rad2': 0.3, 'rotation_x': 0, 'thickness': 0.15}, 'range': {'density_of_ridge': array([100, 300]), 'depth_of_ridge': array([0.01, 0.1 ]), 'height': array([-0.3,  0.3]), 'length': array([0.1, 0.6]), 'rad1': array([0.1, 1. ]), 'rad2': array([0.1, 1. ]), 'rotation_x': array([-1,  1]), 'thickness': array([0.05, 0.3 ])}}}#
tags = ['head_detail', 'rigid']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

make_part(params)[source]#
Parameters:

params

leg#

class infinigen.assets.objects.creatures.parts.leg.QuadrupedBackLeg(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['leg']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.leg.QuadrupedFrontLeg(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['leg']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.leg.BirdLeg(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['leg']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.leg.InsectLeg(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['leg', 'rigid']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

reptile_detail#

class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_ReptileTail(**kwargs)[source]#

Bases: object

local_scale(p)[source]#
Parameters:

p

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_ReptileUpperHead(**kwargs)[source]#

Bases: object

local_offset_x(p)[source]#
Parameters:

p

local_offset_z(p, theta)[source]#
Parameters:
  • p

  • theta

init_local_scale_y()[source]#
init_local_scale_z()[source]#
update(set)[source]#
Parameters:

set

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

  • degree

  • boundx

  • boundy

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_ReptileLowerHead(**kwargs)[source]#

Bases: object

local_offset_x(p)[source]#
Parameters:

p

local_offset_z(p, theta)[source]#
Parameters:
  • p

  • theta

init_local_scale_y()[source]#
init_local_scale_z()[source]#
update(set)[source]#
Parameters:

set

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_ReptileHead(**kwargs)[source]#

Bases: object

local_offset_x(p)[source]#
Parameters:

p

local_offset_z(p, theta)[source]#
Parameters:
  • p

  • theta

init_local_scale_y()[source]#
init_local_scale_z()[source]#
update(set)[source]#
Parameters:

set

update_all(scale, offset=(0, 0, 0))[source]#
Parameters:
  • scale

  • offset -- (default: (0, 0, 0))

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_LizardFrontLeg(**kwargs)[source]#

Bases: object

init_local_offset_x()[source]#
init_local_offset_y()[source]#
init_local_scale_y()[source]#
init_local_scale_z()[source]#
update(set)[source]#
Parameters:

set

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_LizardBackLeg(**kwargs)[source]#

Bases: object

init_local_offset_x()[source]#
init_local_offset_y()[source]#
init_local_scale_y()[source]#
init_local_scale_z()[source]#
update(set)[source]#
Parameters:

set

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_LizardToe(**kwargs)[source]#

Bases: object

init_local_offset_x()[source]#
init_local_offset_y()[source]#
init_local_scale()[source]#
update(set)[source]#
Parameters:

set

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.nurbs_ReptileBody(head, tail, **kwargs)[source]#

Bases: object

position(x)[source]#
Parameters:

x

update(ctrls, scale, offset=(0, 0, 0))[source]#
Parameters:
  • ctrls

  • scale

  • offset -- (default: (0, 0, 0))

merge(c1, c2)[source]#
Parameters:
  • c1

  • c2

get_ctrls()[source]#
generate()[source]#
class infinigen.assets.objects.creatures.parts.reptile_detail.ReptileHeadBody(params=None, type='lizard')[source]#

Bases: PartFactory

param_templates = {'dinosaur': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.8, 'breast': 0, 'scale_x': 30, 'scale_y': 3, 'scale_z': 3, 'sunken': 1, 'sunken_limit': 1, 'tail_modification': 0.4, 'wrist': 0.4}, 'trange': {'body_curve': array([0.75, 0.75]), 'breast': array([0, 0]), 'scale_x': array([ 4, 40]), 'scale_y': array([5, 5]), 'scale_z': array([5, 5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'tail_modification': array([0.3, 0.7]), 'wrist': array([0.5 , 0.55])}}, 'frog': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0, 'scale_x': 2, 'scale_y': 0.8, 'scale_z': 0.8, 'sunken': 1, 'sunken_limit': 1, 'wrist': 0.95}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 0]), 'scale_x': array([1, 3]), 'scale_y': array([0.5, 1.5]), 'scale_z': array([0.8, 1.5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'wrist': array([0.9 , 0.98])}}, 'lizard': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0, 'scale_x': 7, 'scale_y': 0.65, 'scale_z': 0.6, 'sunken': 1, 'sunken_limit': 0.9, 'tail_modification': 0.8, 'wrist': 0.32}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 0]), 'scale_x': array([ 4, 10]), 'scale_y': array([0.5, 1.5]), 'scale_z': array([0.8, 1.5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'tail_modification': array([0.3, 0.7]), 'wrist': array([0.5 , 0.55])}}, 'snake': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0.5, 'scale_x': 30, 'scale_y': 0.65, 'scale_z': 0.57, 'sunken': 1, 'sunken_limit': 1, 'tail_modification': 1, 'wrist': 0.52}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 1]), 'scale_x': array([20, 40]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'sunken': array([1, 1]), 'sunken_limit': array([1, 1]), 'tail_modification': array([1, 1]), 'wrist': array([0.5 , 0.55])}}}#
tags = ['body']#
unit_scale = (0.5, 0.5, 0.5)#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(params, scale)[source]#
Parameters:
  • params

  • scale

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.ReptileBody(params=None, type='lizard', n_bones=None, shoulder_ik_ts=None, mod=None)[source]#

Bases: PartFactory

param_templates = {'dinosaur': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.8, 'breast': 0, 'scale_x': 30, 'scale_y': 3, 'scale_z': 3, 'sunken': 1, 'sunken_limit': 1, 'tail_modification': 0.4, 'wrist': 0.4}, 'trange': {'body_curve': array([0.75, 0.75]), 'breast': array([0, 0]), 'scale_x': array([ 4, 40]), 'scale_y': array([5, 5]), 'scale_z': array([5, 5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'tail_modification': array([0.3, 0.7]), 'wrist': array([0.5 , 0.55])}}, 'frog': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0, 'scale_x': 2, 'scale_y': 0.8, 'scale_z': 0.8, 'sunken': 1, 'sunken_limit': 1, 'wrist': 0.95}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 0]), 'scale_x': array([1, 3]), 'scale_y': array([0.5, 1.5]), 'scale_z': array([0.8, 1.5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'wrist': array([0.9 , 0.98])}}, 'lizard': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0, 'scale_x': 7, 'scale_y': 0.65, 'scale_z': 0.6, 'sunken': 1, 'sunken_limit': 0.9, 'tail_modification': 0.8, 'wrist': 0.32}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 0]), 'scale_x': array([ 4, 10]), 'scale_y': array([0.5, 1.5]), 'scale_z': array([0.8, 1.5]), 'sunken': array([0.8, 1.2]), 'sunken_limit': array([0.5, 0.7]), 'tail_modification': array([0.3, 0.7]), 'wrist': array([0.5 , 0.55])}}, 'snake': {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'hrange': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}, 'tail': {'body_curve': 0.75, 'breast': 0.5, 'scale_x': 30, 'scale_y': 0.65, 'scale_z': 0.57, 'sunken': 1, 'sunken_limit': 1, 'tail_modification': 1, 'wrist': 0.52}, 'trange': {'body_curve': array([0.7, 0.8]), 'breast': array([0, 1]), 'scale_x': array([20, 40]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'sunken': array([1, 1]), 'sunken_limit': array([1, 1]), 'tail_modification': array([1, 1]), 'wrist': array([0.5 , 0.55])}}}#
tags = ['body']#
unit_scale = (0.5, 0.5, 0.5)#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(handles)[source]#
Parameters:

handles

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.ReptileUpperHead(params=None, mod=None)[source]#

Bases: PartFactory

param_templates = {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.4, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'range': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}}#
tags = ['jaw']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(handles)[source]#
Parameters:

handles

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.ReptileLowerHead(params=None, mod=None)[source]#

Bases: PartFactory

param_templates = {'head': {'blunt_head': 0.3, 'offset_x': 0, 'offset_y': 0, 'offset_z': 0, 'scale_x': 0.8, 'scale_y': 0.3, 'scale_z': 0.15, 'up_head_degree': 0.2, 'up_head_position': 0.4}, 'range': {'blunt_head': array([0. , 0.8]), 'scale_x': array([0.5, 1. ]), 'scale_y': array([0, 0]), 'scale_z': array([0, 0]), 'up_head_degree': array([0.1, 0.3]), 'up_head_position': array([0.2, 0.5])}}#
tags = ['jaw']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(handles)[source]#
Parameters:

handles

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.LizardFrontLeg(params=None, type='lizard')[source]#

Bases: PartFactory

param_templates = {'lizard': {'leg': {'scale_x': 1, 'scale_y': 0.2, 'scale_z': 0.2}, 'range': {'scale_x': [0.5, 1], 'scale_y': [0.15, 0.3], 'scale_z': [0.05, 0.2]}}}#
tags = ['leg']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(params, scale)[source]#
Parameters:
  • params

  • scale

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.LizardBackLeg(params=None, type='lizard')[source]#

Bases: PartFactory

param_templates = {'lizard': {'leg': {'scale_x': 1.5, 'scale_y': 0.2, 'scale_z': 0.2}, 'range': {'scale_x': [1.5, 3], 'scale_y': [0.15, 0.3], 'scale_z': [0.05, 0.2]}}}#
tags = ['leg']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(params, scale)[source]#
Parameters:
  • params

  • scale

make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.reptile_detail.LizardToe(params=None, sample=True)[source]#

Bases: PartFactory

param_templates = {'lizard': {'range': {}, 'toe': {}}}#
tags = ['foot_detail']#
sample_params(select=None, var=1)[source]#
Parameters:
  • select -- (default: None)

  • var -- (default: 1)

rescale(params, scale)[source]#
Parameters:
  • params

  • scale

make_part(params)[source]#
Parameters:

params

ridged_fin#

class infinigen.assets.objects.creatures.parts.ridged_fin.FishFin(*args, rig=True, **kwargs)[source]#

Bases: PartFactory

tags = ['limb', 'fin']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

tail#

class infinigen.assets.objects.creatures.parts.tail.Tail(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['tail']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

wings#

class infinigen.assets.objects.creatures.parts.wings.BirdTail(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['tail', 'wing']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.wings.BirdWing(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['limb', 'wing']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.wings.FlyingBirdTail(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['tail', 'wing']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

class infinigen.assets.objects.creatures.parts.wings.FlyingBirdWing(params=None, sample=True)[source]#

Bases: PartFactory

tags = ['limb', 'wing']#
sample_params()[source]#
make_part(params)[source]#
Parameters:

params

Module contents#

Util (.assets.objects.creatures.util)#

Animation (.assets.objects.creatures.util.animation)#

curve_slither#
infinigen.assets.objects.creatures.util.animation.curve_slither.add_curve_slithers(curve, snake_length)[source]#
Parameters:
  • curve

  • snake_length

infinigen.assets.objects.creatures.util.animation.curve_slither.slither_along_path(...)[source]#
Parameters:
  • obj

  • curve

  • speed

  • zoff_pct -- (default: 0.7)

  • orig_len -- (default: None)

infinigen.assets.objects.creatures.util.animation.curve_slither.snap_curve_to_floor(curve, bvh, step_height=1)[source]#
Parameters:
  • curve

  • bvh

  • step_height -- (default: 1)

driver_repeated#
infinigen.assets.objects.creatures.util.animation.driver_repeated.repeated_driver(...)[source]#
Parameters:
  • start

  • end

  • freq

  • off -- (default: None)

  • seed -- (default: None)

infinigen.assets.objects.creatures.util.animation.driver_repeated.bend_bones_lerp(...)[source]#
Parameters:
  • arma

  • bones

  • total

  • freq

  • rot -- (default: None)

  • symmetric -- (default: True)

driver_wiggle#
infinigen.assets.objects.creatures.util.animation.driver_wiggle.animate_wiggle_bones(...)[source]#

mag_deg = sum of magnitudes across al bones freq = flaps per second off = global time offset wavelength = how many flaps fit into one creature

Parameters:
  • arma

  • bones

  • mag_deg

  • freq

  • off -- (default: 0)

  • wavelength -- (default: 1)

  • remove_iks -- (default: True)

idle#
infinigen.assets.objects.creatures.util.animation.idle.snap_iks_to_floor(targets, floor_bvh, minweight=0.7)[source]#
Parameters:
  • targets

  • floor_bvh

  • minweight -- (default: 0.7)

infinigen.assets.objects.creatures.util.animation.idle.idle_body_noise_drivers(...)[source]#
Parameters:
  • targets

  • foot_motion_chance -- (default: 0.2)

  • head_benddown -- (default: 1.0)

  • body_mag -- (default: 1.0)

  • wing_mag -- (default: 1.0)

run_cycle#
infinigen.assets.objects.creatures.util.animation.run_cycle.follow_path(...)[source]#
Parameters:
  • target

  • path

  • duration (int)

  • offset (float) -- (default: 0)

  • reset_rot -- (default: True)

infinigen.assets.objects.creatures.util.animation.run_cycle.animate_run(...)[source]#

Animate creature by moving its IK targets

Parameters:
  • root

  • arma

  • targets

  • steps_per_sec -- (default: 1)

  • body -- (default: True)

  • motion -- (default: True)

  • squash_gait_pct -- (default: 0.1)

Module contents#

boid_swarm#

class infinigen.assets.objects.creatures.util.boid_swarm.BoidSwarmFactory(
factory_seed,
child_col,
settings,
bvh,
collider_col,
volume=0.1,
coarse=False,
)[source]#

Bases: AssetFactory

create_placeholder(loc, rot, **kwargs) bpy_types.Object[source]#
Parameters:
  • loc

  • rot

create_asset(placeholder, **params) bpy_types.Object[source]#
Parameters:

placeholder

cloth_sim#

infinigen.assets.objects.creatures.util.cloth_sim.local_pos_rigity_mask(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.creatures.util.cloth_sim.bake_cloth(...)[source]#
Parameters:
  • obj

  • settings -- (default: None)

  • attributes -- (default: None)

  • frame_start -- (default: None)

  • frame_end -- (default: None)

creature#

class infinigen.assets.objects.creatures.util.creature.Part(
skeleton: <built-in function array>,
obj: bpy_types.Object,
attach_basemesh: bpy_types.Object = None,
joints: dict = <factory>,
iks: dict = <factory>,
settings: dict = <factory>,
_bvh: BVHTree = None,
side: int = 1,
)[source]#

Bases: object

Parameters:
  • skeleton (array)

  • obj (Object)

  • attach_basemesh (Object)

  • joints (dict)

  • iks (dict)

  • settings (dict)

  • _bvh (BVHTree)

  • side (int)

attach_basemesh: Object = None#
side: int = 1#
bvh()[source]#
skeleton_global()[source]#
class infinigen.assets.objects.creatures.util.creature.PartFactory(params=None, sample=True)[source]#

Bases: object

sample_params()[source]#
make_part(params) Part[source]#
Parameters:

params

static animate_bones(arma, bones, params)[source]#
Parameters:
  • arma

  • bones

  • params

infinigen.assets.objects.creatures.util.creature.infer_skeleton_from_mesh(obj)[source]#
Parameters:

obj

infinigen.assets.objects.creatures.util.creature.genome_to_creature(genome, name)[source]#
Parameters:

creature_parser#

infinigen.assets.objects.creatures.util.creature_parser.prefix()[source]#
infinigen.assets.objects.creatures.util.creature_parser.repr_np_array(v)[source]#
Parameters:

v

infinigen.assets.objects.creatures.util.creature_parser.basename(obj)[source]#
Parameters:

obj

infinigen.assets.objects.creatures.util.creature_parser.parse_nurbs_data(obj, i=0)[source]#

Given a blender object, read it’s handles out as a (n,m,3) vertex array

TODO: Read out knotvector. Function should yield all data necessary to define that NURBS

Parameters:
  • obj

  • i -- (default: 0)

infinigen.assets.objects.creatures.util.creature_parser.parse_part(nurbs_part, mesh_part, profiles_folder)[source]#
Parameters:
  • nurbs_part

  • mesh_part

  • profiles_folder

infinigen.assets.objects.creatures.util.creature_parser.find_approx_uvr_coord(child, parent_mesh, parent_nurbs)[source]#
Parameters:
  • child

  • parent_mesh

  • parent_nurbs

infinigen.assets.objects.creatures.util.creature_parser.parse_attachment(part, parent_mesh, parent_nurbs)[source]#
Parameters:
  • part

  • parent_mesh

  • parent_nurbs

infinigen.assets.objects.creatures.util.creature_parser.repr_function_call(...)[source]#
Parameters:
  • funcname

  • kwargs

  • spacing -- (default: '\n')

  • multiline -- (default: True)

infinigen.assets.objects.creatures.util.creature_parser.parse_creature(nurbs_root, mesh_root, profiles_folder)[source]#
Parameters:
  • nurbs_root

  • mesh_root

  • profiles_folder

creature_util#

infinigen.assets.objects.creatures.util.creature_util.euler(r, p, y)[source]#
Parameters:
  • r

  • p

  • y

infinigen.assets.objects.creatures.util.creature_util.interp_dict(...)[source]#

keys: ‘a’, ‘b’, ‘intersect’, ‘union’, ‘asset’, ‘switch’

Parameters:
  • a (dict)

  • b (dict)

  • t (float)

  • keys -- (default: 'assert')

  • fill -- (default: 0)

  • recurse -- (default: True)

  • lerp -- (default: <function lerp>)

infinigen.assets.objects.creatures.util.creature_util.offset_center(obj, x=True, z=True)[source]#
Parameters:
  • obj

  • x -- (default: True)

  • z -- (default: True)

genome#

class infinigen.assets.objects.creatures.util.genome.IKParams(
name: str,
chain_parts: int = 1,
chain_length: int = None,
rotation_weight: float = 0,
mode: str = 'iksolve',
target_size: float = 0.2,
)[source]#

Bases: object

Parameters:
chain_parts: int = 1#
chain_length: int = None#
rotation_weight: float = 0#
mode: str = 'iksolve'#
target_size: float = 0.2#
class infinigen.assets.objects.creatures.util.genome.Joint(
rest: <built-in function array>,
pose: <built-in function array> = None,
bounds: <built-in function array> = None,
stiffness: <built-in function array> = None,
stretch: float = 0,
)[source]#

Bases: object

Parameters:
  • rest (array)

  • pose (array)

  • bounds (array)

  • stiffness (array)

  • stretch (float)

pose: array = None#
bounds: array = None#
stiffness: array = None#
stretch: float = 0#
class infinigen.assets.objects.creatures.util.genome.Attachment(
coord: <built-in function array>,
joint: Joint = None,
bridge: str = None,
side: int = 1,
rotation_basis: str = 'global',
bridge_rad: float = 0.0,
smooth_rad: float = 0.0,
)[source]#

Bases: object

Parameters:
joint: Joint = None#
bridge: str = None#
side: int = 1#
rotation_basis: str = 'global'#
bridge_rad: float = 0.0#
smooth_rad: float = 0.0#
class infinigen.assets.objects.creatures.util.genome.CreatureNode(
part_factory: Any,
att: Attachment,
)[source]#

Bases: object

Parameters:
class infinigen.assets.objects.creatures.util.genome.CreatureGenome(
parts: Tree,
postprocess_params: dict[dict] = <factory>,
)[source]#

Bases: object

Parameters:
infinigen.assets.objects.creatures.util.genome.interp_genome(a, b, t) CreatureGenome[source]#
Parameters:
infinigen.assets.objects.creatures.util.genome.part(fac)[source]#
Parameters:

fac

infinigen.assets.objects.creatures.util.genome.attach(...)[source]#
Parameters:
  • child (Tree)

  • parent (Tree)

  • coord -- (default: None)

  • joint -- (default: None)

  • bridge -- (default: None)

  • side -- (default: 1)

  • rotation_basis -- (default: 'global')

  • bridge_rad -- (default: 0.0)

  • smooth_rad -- (default: 0.0)

geonode_part#

class infinigen.assets.objects.creatures.util.geonode_part.GeonodePartFactory(nodegroup_func, joints=None)[source]#

Bases: object

base_obj()[source]#
params()[source]#

hair#

infinigen.assets.objects.creatures.util.hair.configure_hair(...)[source]#
Parameters:
  • obj

  • root

  • hair_genome (dict)

  • apply -- (default: True)

  • is_dynamic -- (default: None)

join_smoothing#

infinigen.assets.objects.creatures.util.join_smoothing.compute_intersection_curve(...)[source]#
Parameters:
  • a

  • b

  • a_bvh

  • b_bvh

  • simplify_thresh -- (default: 0.015)

infinigen.assets.objects.creatures.util.join_smoothing.create_bevel_connection(...)[source]#
Parameters:
  • a

  • b

  • a_bvh (BVHTree)

  • b_bvh (BVHTree)

  • width (float)

  • segments -- (default: 9)

  • close_caps -- (default: True)

  • intersection_curve -- (default: None)

infinigen.assets.objects.creatures.util.join_smoothing.smooth_around_line(...)[source]#
Assumes: polyline is fairly densely sampled with points,

obj and line_obj have same transform

Parameters:
  • obj

  • line_obj

  • rad

  • iters -- (default: 30)

  • factor -- (default: 0.9)

joining#

infinigen.assets.objects.creatures.util.joining.get_parts(root, main_body=True, filter_name=None)[source]#
Parameters:
  • root (Object)

  • main_body -- (default: True)

  • filter_name -- (default: None)

infinigen.assets.objects.creatures.util.joining.join_and_rig_parts(...)[source]#
Parameters:
  • root (Object)

  • parts (Tree)

  • genome (CreatureGenome)

  • face_size (float)

  • postprocess_func

  • adaptive_resolution -- (default: True)

  • adapt_mode -- (default: 'remesh')

  • min_remesh_size -- (default: 0.01)

  • smooth_joins -- (default: True)

  • smooth_attrs -- (default: False)

  • rigging -- (default: False)

  • constraints -- (default: False)

  • rig_before_subdiv -- (default: False)

  • materials -- (default: True)

  • roll -- (default: 'GLOBAL_POS_Y')

part_util#

infinigen.assets.objects.creatures.util.part_util.nodegroup_to_part(...)[source]#
Parameters:
  • nodegroup_func

  • params

  • kwargs -- (default: None)

  • base_obj -- (default: None)

  • split_extras -- (default: False)

infinigen.assets.objects.creatures.util.part_util.nurbs_to_part(handles, face_size=0.07)[source]#
Parameters:
  • handles

  • face_size -- (default: 0.07)

infinigen.assets.objects.creatures.util.part_util.rdict_comb(corners, weights)[source]#

Take a linear combination of the dicts in corners, according to correspondng weights

Parameters:
  • corners

  • weights

infinigen.assets.objects.creatures.util.part_util.random_convex_coord(names, select=None, temp=1)[source]#

corners: dict[dict[]] select: str | dict temp: float - like softmax, high temp = more even numbers, low temp = more 0s and 1s

Parameters:
  • names

  • select -- (default: None)

  • temp -- (default: 1)

rigging#

infinigen.assets.objects.creatures.util.rigging.creature_rig(...)[source]#
Parameters:
  • root

  • genome

  • parts

  • constraints -- (default: True)

  • roll -- (default: 'GLOBAL_POS_Y')

tree#

class infinigen.assets.objects.creatures.util.tree.Tree(item: Any, children: list = <factory>)[source]#

Bases: object

Parameters:
infinigen.assets.objects.creatures.util.tree.iter_nodes(t, postorder=False)[source]#
Parameters:
  • t (Tree)

  • postorder -- (default: False)

infinigen.assets.objects.creatures.util.tree.iter_items(t, postorder=False)[source]#
Parameters:
  • t (Tree)

  • postorder -- (default: False)

infinigen.assets.objects.creatures.util.tree.iter_parent_child(t, parent=None, postorder=False)[source]#
Parameters:
  • t (Tree)

  • parent -- (default: None)

  • postorder -- (default: False)

infinigen.assets.objects.creatures.util.tree.map(t, func) Tree[source]#
Parameters:
infinigen.assets.objects.creatures.util.tree.map_parent_child(...) Tree[source]#
Parameters:
  • t

  • func

  • parent_node -- (default: None)

  • parent_res -- (default: None)

infinigen.assets.objects.creatures.util.tree.tzip(*trees)[source]#
infinigen.assets.objects.creatures.util.tree.to_node_parent(t)[source]#
Parameters:

t

Module contents#

beetle#

class infinigen.assets.objects.creatures.beetle.BeetleFactory(factory_seed=None, bvh=None, coarse=False, animation_mode=None, **kwargs)[source]#

Bases: AssetFactory

apply_materials(obj)[source]#
Parameters:

obj

create_asset(i, hair=False, **kwargs)[source]#
Parameters:
  • i

  • hair -- (default: False)

class infinigen.assets.objects.creatures.beetle.AntSwarmFactory(factory_seed, bvh, coarse=False)[source]#

Bases: BoidSwarmFactory

ant_swarm_settings(mode=None)[source]#
Parameters:

mode -- (default: None)

bird#

class infinigen.assets.objects.creatures.bird.BirdFactory(factory_seed=None, coarse=False, bvh=None, animation_mode=None, **kwargs)[source]#

Bases: AssetFactory

create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • hair -- (default: True)

class infinigen.assets.objects.creatures.bird.FlyingBirdFactory(
factory_seed=None,
coarse=False,
bvh=None,
animation_mode=None,
altitude=('uniform', 15, 30),
)[source]#

Bases: AssetFactory

max_expected_radius = 1#
max_distance = 40#
create_placeholder(i, loc, rot)[source]#
Parameters:
  • i

  • loc

  • rot

create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • hair -- (default: True)

  • animate -- (default: False)

carnivore#

class infinigen.assets.objects.creatures.carnivore.CarnivoreFactory(
factory_seed=None,
bvh=None,
coarse=False,
animation_mode=None,
hair=True,
clothsim_skin=False,
**kwargs,
)[source]#

Bases: AssetFactory

Parameters:
  • bvh (BVHTree)

  • coarse (bool)

  • animation_mode (str)

  • hair (bool)

  • clothsim_skin (bool)

create_placeholder(**kwargs)[source]#
apply_materials(root)[source]#
Parameters:

root

create_asset(i, placeholder, **kwargs)[source]#
Parameters:
  • i

  • placeholder

crustacean#

class infinigen.assets.objects.creatures.crustacean.CrustaceanFactory(factory_seed, coarse=False, **_)[source]#

Bases: AssetFactory

max_expected_radius = 1#
max_distance = 40#
create_asset(...)[source]#
Parameters:
  • i

  • animate -- (default: True)

  • rigging -- (default: True)

  • cloth -- (default: False)

crab_params()[source]#
lobster_params()[source]#
spiny_lobster_params()[source]#
class infinigen.assets.objects.creatures.crustacean.CrabFactory(factory_seed, coarse=False, **_)[source]#

Bases: CrustaceanFactory

class infinigen.assets.objects.creatures.crustacean.LobsterFactory(factory_seed, coarse=False, **_)[source]#

Bases: CrustaceanFactory

class infinigen.assets.objects.creatures.crustacean.SpinyLobsterFactory(factory_seed, coarse=False, **_)[source]#

Bases: CrustaceanFactory

infinigen.assets.objects.creatures.crustacean.shader_crustacean(nw, params)[source]#
Parameters:
  • nw (NodeWrangler)

  • params

infinigen.assets.objects.creatures.crustacean.shader_eye(nw)[source]#
Parameters:

nw (NodeWrangler)

fish#

class infinigen.assets.objects.creatures.fish.FishFactory(
factory_seed=None,
bvh=None,
coarse=False,
animation_mode=None,
species_variety=None,
clothsim_skin=False,
**_,
)[source]#

Bases: AssetFactory

Parameters:

clothsim_skin (bool)

max_distance = 40#
apply_materials(obj)[source]#
Parameters:

obj

create_asset(i, **kwargs)[source]#
Parameters:

i

class infinigen.assets.objects.creatures.fish.FishSchoolFactory(factory_seed, bvh=None, coarse=False)[source]#

Bases: BoidSwarmFactory

fish_school_params()[source]#

herbivore#

class infinigen.assets.objects.creatures.herbivore.HerbivoreFactory(
factory_seed=None,
bvh=None,
coarse=False,
animation_mode=None,
hair=True,
clothsim_skin=False,
**kwargs,
)[source]#

Bases: AssetFactory

Parameters:
  • bvh (BVHTree)

  • coarse (bool)

  • animation_mode (str)

  • hair (bool)

  • clothsim_skin (bool)

max_distance = 40#
create_placeholder(**kwargs)[source]#
apply_materials(root)[source]#
Parameters:

root

create_asset(i, placeholder, **kwargs)[source]#
Parameters:
  • i

  • placeholder

jellyfish#

class infinigen.assets.objects.creatures.jellyfish.JellyfishFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(face_size, **params)[source]#
Parameters:

face_size

animate_movement(obj)[source]#
Parameters:

obj

animate_expansion(obj, head_z, tail_z)[source]#
Parameters:
  • obj

  • head_z

  • tail_z

animate_height(...)[source]#
Parameters:
  • obj

  • offset

  • seed

  • head_z

  • tail_z

animate_radius(...)[source]#
Parameters:
  • obj

  • offset

  • seed

  • head_z

  • tail_z

animate_arms(obj, tail_z)[source]#
Parameters:
  • obj

  • tail_z

place_tentacles(...)[source]#
Parameters:
  • obj

  • selection

  • min_distance

  • size

  • length

  • bend_angle

  • displace -- (default: False)

build_cap(face_size)[source]#
Parameters:

face_size

apply_cap_dent(obj)[source]#
Parameters:

obj

build_arm(radius, length, bend_angle)[source]#
Parameters:
  • radius

  • length

  • bend_angle

static shader_jellyfish(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

  • saturation

  • transparency

make_transparent()[source]#
make_opaque()[source]#
make_solid()[source]#
make_dotted()[source]#

reptile#

class infinigen.assets.objects.creatures.reptile.LizardFactory(factory_seed, bvh=None, coarse=False)[source]#

Bases: AssetFactory

max_distance = 40#
create_asset(...)[source]#
Parameters:
  • i

  • animate -- (default: False)

  • rigging -- (default: False)

  • cloth -- (default: False)

class infinigen.assets.objects.creatures.reptile.FrogFactory(factory_seed, bvh=None, coarse=False)[source]#

Bases: AssetFactory

max_distance = 40#
create_asset(...)[source]#
Parameters:
  • i

  • animate -- (default: False)

  • rigging -- (default: False)

  • simulate -- (default: False)

class infinigen.assets.objects.creatures.reptile.SnakeFactory(
factory_seed,
bvh=None,
coarse=False,
snake_length=('uniform', 0.5, 3),
**kwargs,
)[source]#

Bases: AssetFactory

max_distance = 40#
create_placeholder(...)[source]#
Parameters:
  • i

  • loc

  • rot

create_asset(i, placeholder, **kwargs)[source]#
Parameters:
  • i

  • placeholder

class infinigen.assets.objects.creatures.reptile.ChameleonFactory(factory_seed, bvh=None, coarse=False, **kwargs)[source]#

Bases: AssetFactory

max_distance = 40#
create_placeholder(...)[source]#
Parameters:
  • i

  • loc

  • rot

create_asset(i, placeholder, **kwargs)[source]#
Parameters:
  • i

  • placeholder

Module contents#

Decor (.assets.objects.decor)#

aquarium_tank#

class infinigen.assets.objects.decor.aquarium_tank.AquariumTankFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

dry_factories = [<class 'infinigen.assets.objects.mushroom.generate.MushroomFactory'>, <class 'infinigen.assets.objects.cactus.generate.CactusFactory'>, <class 'infinigen.assets.objects.rocks.boulder.BoulderFactory'>]#
wet_factories = [<class 'infinigen.assets.objects.mollusk.generate.MolluskFactory'>, <class 'infinigen.assets.objects.corals.generate.CoralFactory'>, <class 'infinigen.assets.objects.underwater.seaweed.SeaweedFactory'>]#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_belts()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

Deformed Trees (.assets.objects.deformed_trees)#

base#

class infinigen.assets.objects.deformed_trees.base.BaseDeformedTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

build_tree(i, distance, **kwargs)[source]#
Parameters:
  • i

  • distance

static geo_xyz(nw)[source]#
Parameters:

nw (NodeWrangler)

static shader_rings(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

create_asset(face_size, **params)[source]#
Parameters:

face_size

fallen#

class infinigen.assets.objects.deformed_trees.fallen.FallenTreeFactory(factory_seed, coarse=False)[source]#

Bases: BaseDeformedTreeFactory

static geo_cutter(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • strength

  • scale

  • radius

  • metric_fn

build_half(...)[source]#
Parameters:
  • obj

  • cut_center

  • cut_normal

  • noise_strength

  • noise_scale

  • radius

  • is_up -- (default: True)

create_asset(i, distance=0, **params)[source]#
Parameters:
  • i

  • distance -- (default: 0)

generate#

class infinigen.assets.objects.deformed_trees.generate.DeformedTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

hollow#

class infinigen.assets.objects.deformed_trees.hollow.HollowTreeFactory(factory_seed, coarse=False)[source]#

Bases: BaseDeformedTreeFactory

static geo_texture(nw, material_index)[source]#
Parameters:
  • nw (NodeWrangler)

  • material_index

static filter_lower(obj)[source]#
Parameters:

obj

create_asset(i, distance=0, **params)[source]#
Parameters:
  • i

  • distance -- (default: 0)

rotten#

class infinigen.assets.objects.deformed_trees.rotten.RottenTreeFactory(factory_seed, coarse=False)[source]#

Bases: BaseDeformedTreeFactory

static geo_cutter(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • strength

  • scale

  • metric_fn

build_cutter(radius, height)[source]#
Parameters:
  • radius

  • height

create_asset(i, distance=0, **params)[source]#
Parameters:
  • i

  • distance -- (default: 0)

truncated#

class infinigen.assets.objects.deformed_trees.truncated.TruncatedTreeFactory(factory_seed, coarse=False)[source]#

Bases: FallenTreeFactory

static geo_cutter(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • strength

  • scale

  • radius

  • metric_fn

create_asset(i, distance=0, **params)[source]#
Parameters:
  • i

  • distance -- (default: 0)

Module contents#

Elements (.assets.objects.elements)#

Doors (.assets.objects.elements.doors)#

bar_handle#

infinigen.assets.objects.elements.doors.bar_handle.nodegroup_push_bar_handle(*args, **kwargs)[source]#

base#

class infinigen.assets.objects.elements.doors.base.BaseDoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: AssetFactory

create_asset(apply=True, **params) bpy_types.Object[source]#
Parameters:

apply -- (default: True)

make_panels()[source]#
make_knobs()[source]#
make_handles(obj)[source]#
Parameters:

obj

make_levers()[source]#
make_pulls()[source]#
property casing_factory#

casing#

class infinigen.assets.objects.elements.doors.casing.DoorCasingFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

joint_utils#

infinigen.assets.objects.elements.doors.joint_utils.nodegroup_symmetry_along_y(*args, **kwargs)[source]#
infinigen.assets.objects.elements.doors.joint_utils.nodegroup_arc_on_door_warper(nw, door_width, door_depth)[source]#
Parameters:
  • nw

  • door_width

  • door_depth

infinigen.assets.objects.elements.doors.joint_utils.nodegroup_door_frame_warper(...)[source]#
Parameters:
  • nw

  • full_frame

  • top_dome

  • door_width

  • door_height

  • door_depth

  • frame_width

infinigen.assets.objects.elements.doors.joint_utils.nodegroup_hinge_joint(*args, **kwargs)[source]#
infinigen.assets.objects.elements.doors.joint_utils.nodegroup_sliding_joint(*args, **kwargs)[source]#

lite#

class infinigen.assets.objects.elements.doors.lite.LiteDoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: PanelDoorFactory

make_panels()[source]#

louver#

class infinigen.assets.objects.elements.doors.louver.LouverDoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: PanelDoorFactory

louver(obj, panel)[source]#
Parameters:
  • obj

  • panel

make_panels()[source]#

panel#

class infinigen.assets.objects.elements.doors.panel.PanelDoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: BaseDoorFactory

bevel(obj, panel)[source]#
Parameters:
  • obj

  • panel

make_panels()[source]#
class infinigen.assets.objects.elements.doors.panel.GlassPanelDoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: PanelDoorFactory

make_panels()[source]#

Module contents#

class infinigen.assets.objects.elements.doors.DoorFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

infinigen.assets.objects.elements.doors.random_door_factory()[source]#

Nature Shelf Trinkets (.assets.objects.elements.nature_shelf_trinkets)#

generate#

class infinigen.assets.objects.elements.nature_shelf_trinkets.generate.NatureShelfTrinketsFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

factories = [<class 'infinigen.assets.objects.corals.generate.CoralFactory'>, <class 'infinigen.assets.objects.rocks.blender_rock.BlenderRockFactory'>, <class 'infinigen.assets.objects.rocks.boulder.BoulderFactory'>, <class 'infinigen.assets.objects.monocot.pinecone.PineconeFactory'>, <class 'infinigen.assets.objects.mollusk.generate.MolluskFactory'>, <class 'infinigen.assets.objects.mollusk.generate.AugerFactory'>, <class 'infinigen.assets.objects.mollusk.generate.ClamFactory'>, <class 'infinigen.assets.objects.mollusk.generate.ConchFactory'>, <class 'infinigen.assets.objects.mollusk.generate.MusselFactory'>, <class 'infinigen.assets.objects.mollusk.generate.ScallopFactory'>, <class 'infinigen.assets.objects.mollusk.generate.VoluteFactory'>, <class 'infinigen.assets.objects.creatures.carnivore.CarnivoreFactory'>, <class 'infinigen.assets.objects.creatures.herbivore.HerbivoreFactory'>]#
probs = array([1, 1, 1, 1, 3, 2, 3, 2, 2, 2, 2, 5, 5])#
create_placeholder(**params) bpy_types.Object[source]#
create_asset(i, placeholder=None, **params)[source]#
Parameters:
  • i

  • placeholder -- (default: None)

Staircases (.assets.objects.elements.staircases)#

cantilever#

class infinigen.assets.objects.elements.staircases.cantilever.CantileverStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: StraightStaircaseFactory

support_types = 'wall'#
handrail_types = ('weighted_choice', (2, 'horizontal-post'), (2, 'vertical-post'))#
valid_contour(...)[source]#
Parameters:
  • offset

  • contour

  • doors

  • lower -- (default: True)

curved#

class infinigen.assets.objects.elements.staircases.curved.CurvedStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: StraightStaircaseFactory

support_types = ('weighted_choice', (2, 'single-rail'), (2, 'double-rail'), (4, 'side'), (4, 'solid'), (4, 'hole'))#
handrail_types = ('weighted_choice', (2, 'horizontal-post'), (2, 'vertical-post'))#
build_size_config()[source]#
make_spiral(obj)[source]#
Parameters:

obj

unmake_spiral(obj)[source]#
Parameters:

obj

property upper#

generate#

class infinigen.assets.objects.elements.staircases.generate.StaircaseFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

factories = [<class 'infinigen.assets.objects.elements.staircases.straight.StraightStaircaseFactory'>, <class 'infinigen.assets.objects.elements.staircases.l_shaped.LShapedStaircaseFactory'>, <class 'infinigen.assets.objects.elements.staircases.u_shaped.UShapedStaircaseFactory'>, <class 'infinigen.assets.objects.elements.staircases.spiral.SpiralStaircaseFactory'>, <class 'infinigen.assets.objects.elements.staircases.curved.CurvedStaircaseFactory'>, <class 'infinigen.assets.objects.elements.staircases.cantilever.CantileverStaircaseFactory'>]#
probs = array([4, 3, 3, 1, 2, 2])#
create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

l_shaped#

class infinigen.assets.objects.elements.staircases.l_shaped.LShapedStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: StraightStaircaseFactory

make_line(alpha)[source]#
Parameters:

alpha

make_line_offset(alpha)[source]#
Parameters:

alpha

make_post_locs(alpha)[source]#
Parameters:

alpha

make_vertical_post_locs(alpha)[source]#
Parameters:

alpha

make_steps()[source]#
make_treads()[source]#
make_inner_sides()[source]#
make_outer_sides()[source]#
property upper#

spiral#

class infinigen.assets.objects.elements.staircases.spiral.SpiralStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: CurvedStaircaseFactory

support_types = 'column'#
build_size_config()[source]#
make_column()[source]#
unmake_spiral(obj)[source]#
Parameters:

obj

straight#

class infinigen.assets.objects.elements.staircases.straight.StraightStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: AssetFactory

support_types = ('weighted_choice', (2, 'single-rail'), (2, 'double-rail'), (3, 'side'), (3, 'solid'), (3, 'hole'))#
handrail_types = ('weighted_choice', (2, 'glass'), (2, 'horizontal-post'), (2, 'vertical-post'))#
build_size_config()[source]#
make_line(alpha)[source]#
Parameters:

alpha

make_line_offset(alpha)[source]#
Parameters:

alpha

make_post_locs(alpha)[source]#
Parameters:

alpha

make_vertical_post_locs(alpha)[source]#
Parameters:

alpha

split(start, end=None)[source]#
Parameters:
  • start

  • end -- (default: None)

static triangulate(obj)[source]#
Parameters:

obj

vertical_cut(p)[source]#
Parameters:

p

make_steps()[source]#
make_rails()[source]#
make_treads()[source]#
make_inner_sides()[source]#
make_outer_sides()[source]#
make_column()[source]#
make_handrails()[source]#
make_single_handrail(obj)[source]#
Parameters:

obj

static extend_line(obj, extension)[source]#
Parameters:
  • obj

  • extension

make_posts(locs, widths)[source]#
Parameters:
  • locs

  • widths

make_bars(locs)[source]#
Parameters:

locs

make_glasses(locs)[source]#
Parameters:

locs

make_spiral(obj)[source]#
Parameters:

obj

unmake_spiral(obj)[source]#
Parameters:

obj

create_placeholder(**kwargs) bpy_types.Object[source]#
create_cutter(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
decorate_line(line, low, high)[source]#
Parameters:
  • line

  • low

  • high

finalize_assets(assets)[source]#
Parameters:

assets

make_guardrail(mesh)[source]#
Parameters:

mesh

property lower#
property upper#
valid_contour(...)[source]#
Parameters:
  • offset

  • contour

  • doors

  • lower -- (default: True)

u_shaped#

class infinigen.assets.objects.elements.staircases.u_shaped.UShapedStaircaseFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: StraightStaircaseFactory

build_size_config()[source]#
make_line(alpha)[source]#
Parameters:

alpha

make_line_offset(alpha)[source]#
Parameters:

alpha

make_post_locs(alpha)[source]#
Parameters:

alpha

make_vertical_post_locs(alpha)[source]#
Parameters:

alpha

make_steps()[source]#
make_treads()[source]#
make_inner_sides()[source]#
make_outer_sides()[source]#
property upper#

Module contents#

infinigen.assets.objects.elements.staircases.random_staircase_factory()[source]#

Warehouses (.assets.objects.elements.warehouses)#

pallet#

class infinigen.assets.objects.elements.warehouses.pallet.PalletFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_vertical()[source]#
make_horizontal()[source]#
make_support()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

rack#

class infinigen.assets.objects.elements.warehouses.rack.RackFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_stands()[source]#
make_supports()[source]#
make_frames()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

pillars#

class infinigen.assets.objects.elements.pillars.PillarFactory(factory_seed, coarse=False, constants=None)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

rug#

class infinigen.assets.objects.elements.rug.RugFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

build_shape()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#

Module contents#

Fruits (.assets.objects.fruits)#

Surfaces (.assets.objects.fruits.surfaces)#

apple_surface#

infinigen.assets.objects.fruits.surfaces.apple_surface.shader_apple_shader(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • color1

  • color2

  • random_seed

infinigen.assets.objects.fruits.surfaces.apple_surface.nodegroup_apple_surface(*args, **kwargs)[source]#

blackberry_surface#

infinigen.assets.objects.fruits.surfaces.blackberry_surface.shader_berry_shader(nw, berry_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • berry_color

infinigen.assets.objects.fruits.surfaces.blackberry_surface.shader_hair_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.fruits.surfaces.blackberry_surface.nodegroup_blackberry_surface(*args, **kwargs)[source]#

coconutgreen_surface#

infinigen.assets.objects.fruits.surfaces.coconutgreen_surface.shader_coconut_green_shader(nw, basic_color, bottom_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • basic_color

  • bottom_color

infinigen.assets.objects.fruits.surfaces.coconutgreen_surface.nodegroup_coconutgreen_surface(*args, **kwargs)[source]#

coconuthairy_surface#

infinigen.assets.objects.fruits.surfaces.coconuthairy_surface.shader_hair_shader(nw, basic_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • basic_color

infinigen.assets.objects.fruits.surfaces.coconuthairy_surface.nodegroup_coconuthairy_surface(*args, **kwargs)[source]#

durian_surface#

infinigen.assets.objects.fruits.surfaces.durian_surface.shader_durian_shader(nw, peak_color, base_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • peak_color

  • base_color

infinigen.assets.objects.fruits.surfaces.durian_surface.nodegroup_durian_surface(*args, **kwargs)[source]#

pineapple_surface#

infinigen.assets.objects.fruits.surfaces.pineapple_surface.nodegroup_pineapple_surface(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.surfaces.pineapple_surface.shader_needle(nw, color1, color2)[source]#
Parameters:
  • nw (NodeWrangler)

  • color1

  • color2

infinigen.assets.objects.fruits.surfaces.pineapple_surface.shader_cell(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • color_bottom

  • color_mid

  • color_top

  • color_center

starfruit_surface#

infinigen.assets.objects.fruits.surfaces.starfruit_surface.shader_starfruit_shader(nw, base_color, ridge_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_color

  • ridge_color

infinigen.assets.objects.fruits.surfaces.starfruit_surface.nodegroup_starfruit_surface(*args, **kwargs)[source]#

strawberry_surface#

infinigen.assets.objects.fruits.surfaces.strawberry_surface.shader_strawberry_shader(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • top_pos

  • main_color

  • top_color

infinigen.assets.objects.fruits.surfaces.strawberry_surface.nodegroup_strawberry_surface(*args, **kwargs)[source]#

surface_utils#

infinigen.assets.objects.fruits.surfaces.surface_utils.nodegroup_stripe_pattern(*args, **kwargs)[source]#

apple#

class infinigen.assets.objects.fruits.apple.FruitFactoryApple(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

blackberry#

class infinigen.assets.objects.fruits.blackberry.FruitFactoryBlackberry(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

coconutgreen#

class infinigen.assets.objects.fruits.coconutgreen.FruitFactoryCoconutgreen(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

coconuthairy#

class infinigen.assets.objects.fruits.coconuthairy.FruitFactoryCoconuthairy(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

compositional_fruit#

class infinigen.assets.objects.fruits.compositional_fruit.FruitFactoryCompositional(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

cross_section_lib#

infinigen.assets.objects.fruits.cross_section_lib.nodegroup_circle_cross_section(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.cross_section_lib.nodegroup_star_cross_section(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.cross_section_lib.nodegroup_cylax_cross_section(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.cross_section_lib.nodegroup_coconut_cross_section(*args, **kwargs)[source]#

durian#

class infinigen.assets.objects.fruits.durian.FruitFactoryDurian(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

fruit_utils#

infinigen.assets.objects.fruits.fruit_utils.nodegroup_random_rotation_scale(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_surface_bump(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_point_on_mesh(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_instance_on_points(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_shape_quadratic(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_add_dent(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_add_crater(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_add_noise_scalar(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_attach_to_nearest(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_manhattan(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_rot_semmetry(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_scale_mesh(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_hair(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.fruit_utils.nodegroup_align_top_to_horizon(*args, **kwargs)[source]#

general_fruit#

class infinigen.assets.objects.fruits.general_fruit.FruitFactoryGeneralFruit(factory_seed, scale=1.0, coarse=False)[source]#

Bases: AssetFactory

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#
sample_geo_genome()[source]#
create_asset(**params)[source]#

pineapple#

class infinigen.assets.objects.fruits.pineapple.FruitFactoryPineapple(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

seed_lib#

infinigen.assets.objects.fruits.seed_lib.shader_seed_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.fruits.seed_lib.nodegroup_strawberry_seed(*args, **kwargs)[source]#

starfruit#

class infinigen.assets.objects.fruits.starfruit.FruitFactoryStarfruit(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

stem_lib#

infinigen.assets.objects.fruits.stem_lib.nodegroup_empty_stem(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.stem_lib.shader_basic_stem_shader(nw, stem_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • stem_color

infinigen.assets.objects.fruits.stem_lib.nodegroup_basic_stem(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.stem_lib.shader_calyx_shader(nw, stem_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • stem_color

infinigen.assets.objects.fruits.stem_lib.nodegroup_calyx_stem(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.stem_lib.shader_coconut_calyx_shader(nw, basic_color, edge_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • basic_color

  • edge_color

infinigen.assets.objects.fruits.stem_lib.nodegroup_coconut_stem(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.stem_lib.shader_leaf(nw, basic_color)[source]#
Parameters:
  • nw (NodeWrangler)

  • basic_color

infinigen.assets.objects.fruits.stem_lib.nodegroup_pineapple_leaf(*args, **kwargs)[source]#
infinigen.assets.objects.fruits.stem_lib.nodegroup_pineapple_stem(*args, **kwargs)[source]#

strawberry#

class infinigen.assets.objects.fruits.strawberry.FruitFactoryStrawberry(factory_seed, scale=1.0, coarse=False)[source]#

Bases: FruitFactoryGeneralFruit

sample_cross_section_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_shape_params(surface_resolution=256)[source]#
Parameters:

surface_resolution -- (default: 256)

sample_surface_params()[source]#
sample_stem_params()[source]#

Module contents#

Grassland (.assets.objects.grassland)#

dandelion#

class infinigen.assets.objects.grassland.dandelion.DandelionFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_mode_params(mode)[source]#
Parameters:

mode

create_asset(**params)[source]#
class infinigen.assets.objects.grassland.dandelion.DandelionSeedFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

flower#

class infinigen.assets.objects.grassland.flower.FlowerFactory(factory_seed, rad=0.15, diversity_fac=0.25)[source]#

Bases: AssetFactory

static get_flower_params(overall_rad=0.05)[source]#
Parameters:

overall_rad -- (default: 0.05)

create_asset(**kwargs) bpy_types.Object[source]#
infinigen.assets.objects.grassland.flower.shader_flower_center(nw)[source]#
Parameters:

nw

infinigen.assets.objects.grassland.flower.shader_petal(nw)[source]#
Parameters:

nw

flowerplant#

class infinigen.assets.objects.grassland.flowerplant.FlowerPlantFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

grass_tuft#

class infinigen.assets.objects.grassland.grass_tuft.GrassTuftFactory(seed)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

Lamp (.assets.objects.lamp)#

ceiling_classic_lamp#

class infinigen.assets.objects.lamp.ceiling_classic_lamp.CeilingClassicLampFactory(factory_seed)[source]#

Bases: AssetFactory

create_placeholder(**_)[source]#
create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • face_size

infinigen.assets.objects.lamp.ceiling_classic_lamp.shader_lamp_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.lamp.ceiling_classic_lamp.shader_inside_metal(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.lamp.ceiling_classic_lamp.shader_cable(nw)[source]#
Parameters:

nw (NodeWrangler)

ceiling_lights#

class infinigen.assets.objects.lamp.ceiling_lights.CeilingLightFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0])[source]#

Bases: AssetFactory

get_material_params()[source]#
sample_parameters(dimensions, use_default=False)[source]#
Parameters:
  • dimensions

  • use_default -- (default: False)

create_placeholder(i, **params)[source]#
Parameters:

i

create_asset(i, placeholder, **params)[source]#
Parameters:
  • i

  • placeholder

finalize_assets(assets)[source]#
Parameters:

assets

lamp#

class infinigen.assets.objects.lamp.lamp.LampFactory(
factory_seed,
coarse=False,
dimensions=[1.0, 1.0, 1.0],
lamp_type='FloorLamp',
)[source]#

Bases: AssetFactory

get_material_params()[source]#
sample_parameters(dimensions, use_default=False)[source]#
Parameters:
  • dimensions

  • use_default -- (default: False)

create_asset(i, **params)[source]#
Parameters:

i

finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.lamp.lamp.DeskLampFactory(factory_seed, coarse=False)[source]#

Bases: LampFactory

class infinigen.assets.objects.lamp.lamp.FloorLampFactory(factory_seed, coarse=False)[source]#

Bases: LampFactory

Module contents#

Leaves (.assets.objects.leaves)#

leaf#

class infinigen.assets.objects.leaves.leaf.LeafFactory(factory_seed, genome=None, coarse=False)[source]#

Bases: AssetFactory

Parameters:

genome (dict)

scale = 0.3#
create_asset(**params) bpy_types.Object[source]#

leaf_broadleaf#

class infinigen.assets.objects.leaves.leaf_broadleaf.LeafFactoryBroadleaf(factory_seed, season='autumn', coarse=False)[source]#

Bases: AssetFactory

scale = 0.5#
static sample_geo_genome()[source]#
create_asset(**params)[source]#
infinigen.assets.objects.leaves.leaf_broadleaf.shader_material(nw, **kwargs)[source]#
Parameters:

nw (NodeWrangler)

leaf_ginko#

class infinigen.assets.objects.leaves.leaf_ginko.LeafFactoryGinko(factory_seed, season='autumn', coarse=False)[source]#

Bases: AssetFactory

scale = 0.3#
static sample_geo_genome()[source]#
create_asset(**params)[source]#
infinigen.assets.objects.leaves.leaf_ginko.shader_material(nw, **kwargs)[source]#
Parameters:

nw (NodeWrangler)

leaf_maple#

class infinigen.assets.objects.leaves.leaf_maple.LeafFactoryMaple(factory_seed, season='autumn', coarse=False)[source]#

Bases: AssetFactory

scale = 0.5#
static sample_geo_genome()[source]#
create_asset(**params)[source]#
infinigen.assets.objects.leaves.leaf_maple.nodegroup_leaf_shader(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_maple.shader_material(nw, **kwargs)[source]#
Parameters:

nw (NodeWrangler)

leaf_pine#

class infinigen.assets.objects.leaves.leaf_pine.LeafFactoryPine(factory_seed, season='autumn', coarse=False)[source]#

Bases: AssetFactory

scale = 0.7#
create_asset(**params)[source]#
infinigen.assets.objects.leaves.leaf_pine.shader_needle(nw)[source]#
Parameters:

nw

infinigen.assets.objects.leaves.leaf_pine.shader_twig(nw)[source]#
Parameters:

nw

leaf_v2#

class infinigen.assets.objects.leaves.leaf_v2.LeafFactoryV2(factory_seed, coarse=False)[source]#

Bases: AssetFactory

scale = 0.5#
static sample_geo_genome()[source]#
create_asset(**params)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_sub_vein(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_midrib(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_vein_coord(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_shape(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_apply_vein_midrib(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_nodegroup_leaf_gen(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.nodegroup_apply_wave(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.nodegroup_move_to_origin(*args, **kwargs)[source]#
infinigen.assets.objects.leaves.leaf_v2.shader_leaf_new(nw, **kwargs)[source]#
Parameters:

nw

leaf_wrapped#

class infinigen.assets.objects.leaves.leaf_wrapped.LeafFactoryWrapped(factory_seed, season='autumn', coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

Module contents#

Mollusk (.assets.objects.mollusk)#

base#

class infinigen.assets.objects.mollusk.base.BaseMolluskFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

max_expected_radius = 0.5#
noise_strength = 0.02#
ratio = 1#
x_scale = 2#
z_scale = 1#
distortion = 1#
create_asset(**params) bpy_types.Object[source]#

generate#

class infinigen.assets.objects.mollusk.generate.MolluskFactory(factory_seed, coarse=False, factory_method=None)[source]#

Bases: AssetFactory

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

decorate_mollusk(obj, face_size)[source]#
Parameters:
  • obj

  • face_size

static build_base_hue()[source]#
static shader_mollusk(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

  • ratio -- (default: 0)

  • x_scale -- (default: 2)

  • z_scale -- (default: 1)

  • distortion -- (default: 5)

class infinigen.assets.objects.mollusk.generate.ScallopFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.ClamFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.MusselFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.ConchFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.AugerFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.VoluteFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

class infinigen.assets.objects.mollusk.generate.NautilusFactory(factory_seed, coarse=False)[source]#

Bases: MolluskFactory

shell#

class infinigen.assets.objects.mollusk.shell.ShellBaseFactory(factory_seed, coarse=False)[source]#

Bases: BaseMolluskFactory

build_ellipse(viewpoint=(0.0, 0, 1.0), softness=0.3)[source]#
Parameters:
  • viewpoint -- (default: (0.0, 0, 1.0))

  • softness -- (default: 0.3)

static geo_shader_vector(nw)[source]#
Parameters:

nw (NodeWrangler)

scallop_make()[source]#
clam_make()[source]#
mussel_make()[source]#
static add_radial_groove(obj)[source]#
Parameters:

obj

static add_hinge(obj)[source]#
Parameters:

obj

create_asset(**params)[source]#
class infinigen.assets.objects.mollusk.shell.ScallopBaseFactory(factory_seed, coarse=False)[source]#

Bases: ShellBaseFactory

class infinigen.assets.objects.mollusk.shell.ClamBaseFactory(factory_seed, coarse=False)[source]#

Bases: ShellBaseFactory

class infinigen.assets.objects.mollusk.shell.MusselBaseFactory(factory_seed, coarse=False)[source]#

Bases: ShellBaseFactory

snail#

class infinigen.assets.objects.mollusk.snail.SnailBaseFactory(factory_seed, coarse=False)[source]#

Bases: BaseMolluskFactory

freq = 256#
static build_cross_section(...)[source]#
Parameters:
  • n -- (default: 64)

  • affine -- (default: 1)

  • spike -- (default: 0.0)

  • concave -- (default: 2.2)

snail_make(...)[source]#
Parameters:
  • lateral -- (default: 0.15)

  • longitudinal -- (default: 0.04)

  • freq -- (default: 28)

  • scale -- (default: 0.99)

  • loop -- (default: 8)

  • affine -- (default: 1)

  • spike -- (default: 0.0)

static geo_shader_vector(nw, n, interval)[source]#
Parameters:
  • nw (NodeWrangler)

  • n

  • interval

static solve_longitude(ratio, freq, scale)[source]#
Parameters:
  • ratio

  • freq

  • scale

static solve_lateral(ratio, freq, scale)[source]#
Parameters:
  • ratio

  • freq

  • scale

static solve_scale(shrink, freq)[source]#
Parameters:
  • shrink

  • freq

conch_make()[source]#
auger_make()[source]#
volute_make()[source]#
nautilus_make()[source]#
static geo_affine(nw)[source]#
Parameters:

nw (NodeWrangler)

create_asset(**params)[source]#
class infinigen.assets.objects.mollusk.snail.VoluteBaseFactory(factory_seed, coarse=False)[source]#

Bases: SnailBaseFactory

class infinigen.assets.objects.mollusk.snail.NautilusBaseFactory(factory_seed, coarse=False)[source]#

Bases: SnailBaseFactory

class infinigen.assets.objects.mollusk.snail.ConchBaseFactory(factory_seed, coarse=False)[source]#

Bases: SnailBaseFactory

class infinigen.assets.objects.mollusk.snail.AugerBaseFactory(factory_seed, coarse=False)[source]#

Bases: SnailBaseFactory

Module contents#

Monocot (.assets.objects.monocot)#

agave#

class infinigen.assets.objects.monocot.agave.AgaveMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

use_distance = True#
static build_base_hue()[source]#
build_leaf(face_size)[source]#
Parameters:

face_size

banana#

class infinigen.assets.objects.monocot.banana.BananaMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

static build_base_hue()[source]#
cut_leaf(obj)[source]#
Parameters:

obj

build_leaf(face_size)[source]#
Parameters:

face_size

displace_veins(obj)[source]#
Parameters:

obj

class infinigen.assets.objects.monocot.banana.TaroMonocotFactory(factory_seed, coarse=False)[source]#

Bases: BananaMonocotFactory

displace_veins(obj)[source]#
Parameters:

obj

build_leaf(face_size)[source]#
Parameters:

face_size

build_branch()[source]#
build_instance(i, face_size)[source]#
Parameters:
  • i

  • face_size

generate#

class infinigen.assets.objects.monocot.generate.MonocotFactory(factory_seed, coarse=False, factory_method=None, grass=None)[source]#

Bases: AssetFactory

max_cluster = 10#
create_asset(i, **params) bpy_types.Object[source]#
Parameters:

i

grasses#

class infinigen.assets.objects.monocot.grasses.GrassesMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

static build_base_hue()[source]#
build_leaf(face_size)[source]#
Parameters:

face_size

property is_grass#
class infinigen.assets.objects.monocot.grasses.WheatEarMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

static build_base_hue()[source]#
build_leaf(face_size)[source]#
Parameters:

face_size

class infinigen.assets.objects.monocot.grasses.WheatMonocotFactory(factory_seed, coarse=False)[source]#

Bases: GrassesMonocotFactory

static build_base_hue()[source]#
create_asset(**params)[source]#
class infinigen.assets.objects.monocot.grasses.MaizeMonocotFactory(factory_seed, coarse=False)[source]#

Bases: GrassesMonocotFactory

build_leaf(face_size)[source]#
Parameters:

face_size

build_husk()[source]#
create_asset(**params)[source]#
class infinigen.assets.objects.monocot.grasses.ReedEarMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

build_leaf(face_size)[source]#
Parameters:

face_size

create_raw(**params)[source]#
class infinigen.assets.objects.monocot.grasses.ReedBranchMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

max_branches = 6#
make_collection(face_size)[source]#
Parameters:

face_size

class infinigen.assets.objects.monocot.grasses.ReedMonocotFactory(factory_seed, coarse=False)[source]#

Bases: GrassesMonocotFactory

static build_base_hue()[source]#
create_asset(**params)[source]#
static shader_ear(nw)[source]#
Parameters:

nw (NodeWrangler)

growth#

class infinigen.assets.objects.monocot.growth.MonocotGrowthFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

use_distance = False#
static build_base_hue()[source]#
property is_grass#
build_leaf(face_size)[source]#
Parameters:

face_size

static decorate_leaf(...)[source]#
Parameters:
  • obj

  • y_ratio -- (default: 4)

  • y_bend_angle -- (default: 0.524)

  • z_bend_angle -- (default: 0.524)

  • noise_scale -- (default: 0.1)

  • strength -- (default: 0.02)

  • leftmost -- (default: True)

make_geo_flower()[source]#
build_instance(i, face_size)[source]#
Parameters:
  • i

  • face_size

make_collection(face_size)[source]#
Parameters:

face_size

build_stem(face_size)[source]#
Parameters:

face_size

create_asset(**params)[source]#
create_raw(face_size=0.01, apply=True, **params)[source]#
Parameters:
  • face_size -- (default: 0.01)

  • apply -- (default: True)

decorate_monocot(obj)[source]#
Parameters:

obj

static shader_monocot(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • dark_color

  • bright_color

  • use_distance

kelp#

class infinigen.assets.objects.monocot.kelp.KelpMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

max_leaf_length = 1.2#
align_angle = 0.14888188874846597#
make_align_factor()[source]#
make_align_direction()[source]#
static build_base_hue()[source]#
build_instance(i, face_size)[source]#
Parameters:
  • i

  • face_size

create_asset(**params)[source]#

pinecone#

class infinigen.assets.objects.monocot.pinecone.PineconeFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

build_leaf(face_size)[source]#
Parameters:

face_size

static shader_monocot(...)[source]#
Parameters:
  • nw (NodeWrangler)

  • dark_color

  • bright_color

  • use_distance

tussock#

class infinigen.assets.objects.monocot.tussock.TussockMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

static build_base_hue()[source]#
build_leaf(face_size)[source]#
Parameters:

face_size

veratrum#

class infinigen.assets.objects.monocot.veratrum.VeratrumMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

static build_base_hue()[source]#
static shader_ear(nw)[source]#
Parameters:

nw (NodeWrangler)

build_leaf(face_size)[source]#
Parameters:

face_size

create_asset(**params)[source]#
class infinigen.assets.objects.monocot.veratrum.VeratrumBranchMonocotFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

max_branches = 6#
create_asset(**params) bpy_types.Object[source]#
class infinigen.assets.objects.monocot.veratrum.VeratrumEarMonocotFactory(factory_seed, coarse=False)[source]#

Bases: MonocotGrowthFactory

build_leaf(face_size)[source]#
Parameters:

face_size

Module contents#

Mushroom (.assets.objects.mushroom)#

cap#

class infinigen.assets.objects.mushroom.cap.MushroomCapFactory(factory_seed, base_hue, material_func, coarse=False)[source]#

Bases: AssetFactory

property campanulate#
property conical#
property convex#
property depressed#
property flat#
property infundiuliform#
property ovate#
property umbillicate#
property umbonate#
property adnexed_gill#
property decurrent_gill#
static geo_xyz(nw)[source]#
Parameters:

nw (NodeWrangler)

static geo_morel(nw)[source]#
Parameters:

nw (NodeWrangler)

apply_cut(obj)[source]#
Parameters:

obj

create_asset(face_size, **params) bpy_types.Object[source]#
Parameters:

face_size

static shader_voronoi(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static shader_speckle(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static shader_noise(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static shader_cap(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

generate#

class infinigen.assets.objects.mushroom.generate.MushroomFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

max_cluster = 10#
create_asset(i, face_size, **params)[source]#
Parameters:
  • i

  • face_size

build_mushrooms(i, face_size=0.01)[source]#
Parameters:
  • i

  • face_size -- (default: 0.01)

property radius#
find_closest(...)[source]#
Parameters:
  • keypoints

  • rotations

  • start_locs

  • directions

cluster_make(keypoints)[source]#
Parameters:

keypoints

directional_make(keypoints)[source]#
Parameters:

keypoints

growth#

class infinigen.assets.objects.mushroom.growth.MushroomGrowthFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

static build_base_hue()[source]#
create_asset(**params)[source]#
static shader_mushroom(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

stem#

class infinigen.assets.objects.mushroom.stem.MushroomStemFactory(factory_seed, inner_radius, material_func, coarse=False)[source]#

Bases: AssetFactory

build_solid_web(inner_radius)[source]#
Parameters:

inner_radius

static geo_voronoi(nw)[source]#
Parameters:

nw (NodeWrangler)

build_hollow_web(inner_radius)[source]#
Parameters:

inner_radius

create_asset(face_size, **params) bpy_types.Object[source]#
Parameters:

face_size

static geo_band(nw, length, scale)[source]#
Parameters:
  • nw (NodeWrangler)

  • length

  • scale

static geo_inverse_band(nw, scale)[source]#
Parameters:
  • nw (NodeWrangler)

  • scale

Module contents#

Organizer (.assets.objects.organizer)#

basket#

class infinigen.assets.objects.organizer.basket.BasketBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

hook#

class infinigen.assets.objects.organizer.hook.HookBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_hang_points(params)[source]#
Parameters:

params

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.organizer.hook.SpatulaBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.organizer.hook.SpatulaOnHookBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(i)[source]#
Parameters:

i

create_asset(i, **params)[source]#
Parameters:

i

plate_rack#

class infinigen.assets.objects.organizer.plate_rack.PlateRackBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_place_points(params)[source]#
Parameters:

params

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.organizer.plate_rack.PlateBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.organizer.plate_rack.PlateOnRackBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(i)[source]#
Parameters:

i

create_asset(i, **params)[source]#
Parameters:

i

Module contents#

Particles (.assets.objects.particles)#

lichen#

class infinigen.assets.objects.particles.lichen.LichenFactory(factory_seed)[source]#

Bases: AssetFactory

static build_lichen_circle_mesh(n)[source]#
Parameters:

n

static shader_lichen(nw, base_hue=0.2, **params)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue -- (default: 0.2)

create_asset(**kwargs)[source]#

moss#

class infinigen.assets.objects.particles.moss.MossFactory(factory_seed)[source]#

Bases: AssetFactory

static shader_moss(nw, base_hue=0.3)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue -- (default: 0.3)

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

static geo_moss_instance(nw, face_size)[source]#
Parameters:
  • nw (NodeWrangler)

  • face_size

particles#

class infinigen.assets.objects.particles.particles.RaindropFactory(factory_seed=None, coarse=False)[source]#

Bases: AssetFactory

create_asset(**kwargs)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.particles.particles.DustMoteFactory(factory_seed=None, coarse=False)[source]#

Bases: AssetFactory

create_asset(**kwargs)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.particles.particles.SnowflakeFactory(factory_seed=None, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

infinigen.assets.objects.particles.particles.shader_raindrop(nw)[source]#
Parameters:

nw

pine_needle#

class infinigen.assets.objects.particles.pine_needle.PineNeedleFactory(factory_seed=None, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
create_asset(**_)[source]#
finalize_assets(objs)[source]#
Parameters:

objs

infinigen.assets.objects.particles.pine_needle.shader_material(nw)[source]#
Parameters:

nw (NodeWrangler)

Module contents#

Rocks (.assets.objects.rocks)#

blender_rock#

class infinigen.assets.objects.rocks.blender_rock.BlenderRockFactory(factory_seed, detail=1)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

boulder#

class infinigen.assets.objects.rocks.boulder.BoulderFactory(
factory_seed,
meshing_cameras=None,
adapt_mesh_method='remesh',
cam_meshing_max_dist=10000000.0,
coarse=False,
do_voronoi=True,
)[source]#

Bases: AssetFactory

config_mappings = {'boulder': [True, False], 'slab': [False, True]}#
create_placeholder(boulder_scale=1, **kwargs) bpy_types.Object[source]#
Parameters:

boulder_scale -- (default: 1)

finalize_placeholders(placeholders)[source]#
Parameters:

placeholders

static geo_extrusion(nw, extrude_scale=1)[source]#
Parameters:
  • nw (NodeWrangler)

  • extrude_scale -- (default: 1)

create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • face_size -- (default: 0.01)

  • distance -- (default: 0)

glowing_rocks#

class infinigen.assets.objects.rocks.glowing_rocks.GlowingRocksFactory(
factory_seed,
coarse=False,
transparent_for_bounce=True,
watt_power_range=(400, 800),
**kwargs,
)[source]#

Bases: AssetFactory

quickly_resample()[source]#
Parameters:

obj

create_placeholder(i, loc, rot)[source]#
Parameters:
  • i

  • loc

  • rot

create_asset(*args, **kwargs) bpy_types.Object[source]#
infinigen.assets.objects.rocks.glowing_rocks.shader_glowrock(nw, transparent_for_bounce=True)[source]#
Parameters:
  • nw (NodeWrangler)

  • transparent_for_bounce -- (default: True)

pile#

class infinigen.assets.objects.rocks.pile.BoulderPileFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

static create_floor()[source]#
static place_boulder(obj, height)[source]#
Parameters:
  • obj

  • height

create_placeholder(**kwargs)[source]#
create_asset(
placeholder,
face_size=0.01,
**params,
) bpy_types.Object[source]#
Parameters:
  • placeholder

  • face_size -- (default: 0.01)

Module contents#

Seating (.assets.objects.seating)#

Chairs (.assets.objects.seating.chairs)#

Seats (.assets.objects.seating.chairs.seats)#

curvy_seats#
infinigen.assets.objects.seating.chairs.seats.curvy_seats.generate_curvy_seats(*args, **kwargs)[source]#
round_seats#
infinigen.assets.objects.seating.chairs.seats.round_seats.generate_round_seats(*args, **kwargs)[source]#

bar_chair#

class infinigen.assets.objects.seating.chairs.bar_chair.BarChairFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

get_material_params(leg_style)[source]#
Parameters:

leg_style

static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

chair#

class infinigen.assets.objects.seating.chairs.chair.ChairFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

back_types = ('weighted_choice', (1, 'whole'), (1, 'partial'), (1, 'horizontal-bar'), (1, 'vertical-bar'))#
post_init()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

make_seat()[source]#
make_legs()[source]#
make_limb(leg_ends, leg_starts)[source]#
Parameters:
  • leg_ends

  • leg_starts

make_backs()[source]#
make_leg_decors(legs)[source]#
Parameters:

legs

make_back_decors(backs, finalize=True)[source]#
Parameters:
  • backs

  • finalize -- (default: True)

make_arms(base, backs)[source]#
Parameters:
  • base

  • backs

solidify(obj, axis, thickness=None)[source]#
Parameters:
  • obj

  • axis

  • thickness -- (default: None)

office_chair#

class infinigen.assets.objects.seating.chairs.office_chair.OfficeChairFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

get_material_params(leg_style)[source]#
Parameters:

leg_style

static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

bed#

class infinigen.assets.objects.seating.bed.BedFactory(factory_seed, coarse=False)[source]#

Bases: BedFrameFactory

mattress_types = ('weighted_choice', (1, 'coiled'), (3, 'wrapped'))#
sheet_types = ('weighted_choice', (4, 'quilt'), (4, 'comforter'), (4, 'box_comforter'), (1, 'none'))#
create_asset(i, **params) bpy_types.Object[source]#
Parameters:

i

make_mattress(i)[source]#
Parameters:

i

make_sheet(i, mattress, obj)[source]#
Parameters:
  • i

  • mattress

  • obj

make_cover(i, sheet, mattress)[source]#
Parameters:
  • i

  • sheet

  • mattress

scatter(pillows, points, bases)[source]#
Parameters:
  • pillows

  • points

  • bases

bedframe#

class infinigen.assets.objects.seating.bedframe.BedFrameFactory(factory_seed, coarse=False)[source]#

Bases: ChairFactory

scale = 1.0#
leg_decor_types = ('weighted_choice', (2, 'coiled'), (2, 'pad'), (1, 'plain'), (2, 'legs'))#
back_types = ('weighted_choice', (3, 'coiled'), (3, 'pad'), (2, 'whole'), (1, 'horizontal-bar'), (1, 'vertical-bar'))#
make_seat()[source]#
make_legs()[source]#
make_leg_decors(legs)[source]#
Parameters:

legs

divide(obj, distance)[source]#
Parameters:
  • obj

  • distance

make_back_decors(backs, finalize=True)[source]#
Parameters:
  • backs

  • finalize -- (default: True)

make_back(backs)[source]#
Parameters:

backs

mattress#

class infinigen.assets.objects.seating.mattress.MattressFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

types = ('weighted_choice', (1, 'coiled'), (1, 'wrapped'))#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_coiled(obj)[source]#
Parameters:

obj

make_wrapped(obj)[source]#
Parameters:

obj

finalize_assets(assets)[source]#
Parameters:

assets

infinigen.assets.objects.seating.mattress.make_coiled(...)[source]#
Parameters:
  • obj

  • dot_distance

  • dot_depth

  • dot_size

pillow#

class infinigen.assets.objects.seating.pillow.PillowFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

shapes = ('weighted_choice', (4, 'square'), (4, 'rectangle'), (1, 'circle'), (1, 'torus'))#
create_asset(**params) bpy_types.Object[source]#
make_circle()[source]#
make_gird()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

sofa#

class infinigen.assets.objects.seating.sofa.SofaFactory(factory_seed)[source]#

Bases: AssetFactory

create_placeholder(**_)[source]#
create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • face_size

class infinigen.assets.objects.seating.sofa.ArmChairFactory(factory_seed)[source]#

Bases: SofaFactory

Module contents#

Shelves (.assets.objects.shelves)#

cabinet#

class infinigen.assets.objects.shelves.cabinet.CabinetDoorBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(sample_params=True, i=0, **params)[source]#
Parameters:
  • sample_params -- (default: True)

  • i -- (default: 0)

class infinigen.assets.objects.shelves.cabinet.CabinetDoorIkeaFactory(factory_seed, params={}, coarse=False)[source]#

Bases: CabinetDoorBaseFactory

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.cabinet.CabinetBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_material_params()[source]#
get_shelf_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_door_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_cabinet_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_cabinet_components(i)[source]#
Parameters:

i

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.cabinet.CabinetFactory(factory_seed, params={}, coarse=False)[source]#

Bases: CabinetBaseFactory

sample_params()[source]#

cell_shelf#

class infinigen.assets.objects.shelves.cell_shelf.CellShelfBaseFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(params)[source]#
Parameters:

params

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.cell_shelf.CellShelfFactory(factory_seed, coarse=False)[source]#

Bases: CellShelfBaseFactory

sample_params()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#
class infinigen.assets.objects.shelves.cell_shelf.TVStandFactory(factory_seed, coarse=False)[source]#

Bases: CellShelfFactory

sample_params()[source]#

countertop#

class infinigen.assets.objects.shelves.countertop.CountertopFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

surfaces = ('weighted_choice', (5, <module 'infinigen.assets.materials.ceramic.marble' from '/n/fs/pvl-renders/ar8564/docs_deploy_v2.0.0a1/src/infinigen/assets/materials/ceramic/marble.py'>), (2, <module 'infinigen.assets.materials.ceramic.ceramic' from '/n/fs/pvl-renders/ar8564/docs_deploy_v2.0.0a1/src/infinigen/assets/materials/ceramic/ceramic.py'>), (2, <module 'infinigen.assets.materials.wood.wood_tile' from '/n/fs/pvl-renders/ar8564/docs_deploy_v2.0.0a1/src/infinigen/assets/materials/wood/wood_tile.py'>))#
static generate_shelves()[source]#
create_asset(shelves=None, **params) bpy_types.Object[source]#
Parameters:

shelves -- (default: None)

static rebuffer(shape, distance)[source]#
Parameters:
  • shape

  • distance

finalize_assets(assets)[source]#
Parameters:

assets

doors#

class infinigen.assets.objects.shelves.doors.CabinetDoorBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

drawers#

class infinigen.assets.objects.shelves.drawers.CabinetDrawerBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

kitchen_cabinet#

class infinigen.assets.objects.shelves.kitchen_cabinet.KitchenCabinetBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_material_params()[source]#
get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

get_frame_params(width, i=0)[source]#
Parameters:
  • width

  • i -- (default: 0)

get_attach_params(attach_type, i=0)[source]#
Parameters:
  • attach_type

  • i -- (default: 0)

get_cabinet_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_cabinet_components(i, drawer_only=False)[source]#
Parameters:
  • i

  • drawer_only -- (default: False)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.kitchen_cabinet.KitchenCabinetFactory(
factory_seed,
params={},
coarse=False,
dimensions=None,
drawer_only=False,
)[source]#

Bases: KitchenCabinetBaseFactory

sample_params()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#

kitchen_space#

class infinigen.assets.objects.shelves.kitchen_space.KitchenSpaceFactory(factory_seed, coarse=False, dimensions=None, island=False)[source]#

Bases: AssetFactory

sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params)[source]#
class infinigen.assets.objects.shelves.kitchen_space.KitchenIslandFactory(factory_seed)[source]#

Bases: KitchenSpaceFactory

large_shelf#

class infinigen.assets.objects.shelves.large_shelf.LargeShelfBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

update_translation_params(params)[source]#
Parameters:

params

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.large_shelf.LargeShelfFactory(factory_seed, params={}, coarse=False)[source]#

Bases: LargeShelfBaseFactory

sample_params()[source]#

simple_bookcase#

class infinigen.assets.objects.shelves.simple_bookcase.SimpleBookcaseBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.simple_bookcase.SimpleBookcaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: SimpleBookcaseBaseFactory

sample_params()[source]#

simple_desk#

class infinigen.assets.objects.shelves.simple_desk.SimpleDeskBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.simple_desk.SimpleDeskFactory(factory_seed, params={}, coarse=False)[source]#

Bases: SimpleDeskBaseFactory

sample_params()[source]#
class infinigen.assets.objects.shelves.simple_desk.SidetableDeskFactory(factory_seed, params={}, coarse=False)[source]#

Bases: SimpleDeskBaseFactory

sample_params()[source]#

single_cabinet#

class infinigen.assets.objects.shelves.single_cabinet.SingleCabinetBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_material_params()[source]#
get_shelf_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_door_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_cabinet_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_cabinet_components(i)[source]#
Parameters:

i

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.single_cabinet.SingleCabinetFactory(factory_seed, params={}, coarse=False)[source]#

Bases: SingleCabinetBaseFactory

sample_params()[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#

triangle_shelf#

class infinigen.assets.objects.shelves.triangle_shelf.TriangleShelfBaseFactory(factory_seed, params={}, coarse=False)[source]#

Bases: AssetFactory

sample_params()[source]#
get_asset_params(i=0)[source]#
Parameters:

i -- (default: 0)

get_material_func(params, randomness=True)[source]#
Parameters:
  • params

  • randomness -- (default: True)

create_asset(i=0, **params)[source]#
Parameters:

i -- (default: 0)

class infinigen.assets.objects.shelves.triangle_shelf.TriangleShelfFactory(factory_seed, params={}, coarse=False)[source]#

Bases: TriangleShelfBaseFactory

sample_params()[source]#

utils#

infinigen.assets.objects.shelves.utils.nodegroup_tagged_cube(*args, **kwargs)[source]#

Module contents#

Small Plants (.assets.objects.small_plants)#

fern#

class infinigen.assets.objects.small_plants.fern.FernFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#
debug_asset(**params)[source]#

leaf_general#

class infinigen.assets.objects.small_plants.leaf_general.LeafFactory(factory_seed, genome=None, coarse=False)[source]#

Bases: AssetFactory

Parameters:

genome (dict)

scale = 0.3#
create_asset(**params) bpy_types.Object[source]#

leaf_heart#

class infinigen.assets.objects.small_plants.leaf_heart.LeafHeartFactory(factory_seed, genome=None, coarse=False)[source]#

Bases: AssetFactory

Parameters:

genome (dict)

scale = 0.2#
create_asset(**params) bpy_types.Object[source]#

num_leaf_grass#

class infinigen.assets.objects.small_plants.num_leaf_grass.NumLeafGrassFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

snake_plant#

class infinigen.assets.objects.small_plants.snake_plant.SnakePlantFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params)[source]#

spider_plant#

class infinigen.assets.objects.small_plants.spider_plant.SpiderPlantFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_params()[source]#
create_asset(**params)[source]#

succulent#

class infinigen.assets.objects.small_plants.succulent.SucculentFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_params(mode)[source]#
Parameters:

mode

create_asset(**params)[source]#

Module contents#

Table Decorations (.assets.objects.table_decorations)#

book#

class infinigen.assets.objects.table_decorations.book.BookFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

make_paperback(width, height, depth)[source]#
Parameters:
  • width

  • height

  • depth

make_paper(depth, height, width)[source]#
Parameters:
  • depth

  • height

  • width

make_hardcover(width, height, depth)[source]#
Parameters:
  • width

  • height

  • depth

make_cover(obj)[source]#
Parameters:

obj

class infinigen.assets.objects.table_decorations.book.BookColumnFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
class infinigen.assets.objects.table_decorations.book.BookStackFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#

sink#

class infinigen.assets.objects.table_decorations.sink.SinkFactory(factory_seed, coarse=False, dimensions=[1.0, 1.0, 1.0], upper_height=None)[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(...)[source]#
Parameters:
  • dimensions

  • upper_height

  • use_default -- (default: False)

  • open -- (default: False)

create_placeholder(i, **kwargs) bpy_types.Object[source]#
Parameters:

i

create_asset(...)[source]#
Parameters:
  • i

  • placeholder

  • state -- (default: None)

finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.table_decorations.sink.TapFactory(factory_seed)[source]#

Bases: AssetFactory

static tap_parameters()[source]#
get_material_params()[source]#
create_asset(**_)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

utils#

infinigen.assets.objects.table_decorations.utils.nodegroup_star_profile(*args, **kwargs)[source]#
infinigen.assets.objects.table_decorations.utils.nodegroup_lofting(*args, **kwargs)[source]#
infinigen.assets.objects.table_decorations.utils.nodegroup_lofting_poly(*args, **kwargs)[source]#
infinigen.assets.objects.table_decorations.utils.nodegroup_warp_around_curve(*args, **kwargs)[source]#

vase#

class infinigen.assets.objects.table_decorations.vase.VaseFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

Module contents#

Tables (.assets.objects.tables)#

Legs (.assets.objects.tables.legs)#

single_stand#

infinigen.assets.objects.tables.legs.single_stand.nodegroup_generate_single_stand(*args, **kwargs)[source]#

square#

infinigen.assets.objects.tables.legs.square.nodegroup_generate_leg_square(*args, **kwargs)[source]#

straight#

infinigen.assets.objects.tables.legs.straight.nodegroup_generate_leg_straight(*args, **kwargs)[source]#

wheeled#

infinigen.assets.objects.tables.legs.wheeled.nodegroup_wheeled_leg(*args, **kwargs)[source]#

cocktail_table#

class infinigen.assets.objects.tables.cocktail_table.TableCocktailFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**_)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

infinigen.assets.objects.tables.cocktail_table.geometry_create_legs(*args, **kwargs)[source]#

dining_table#

class infinigen.assets.objects.tables.dining_table.TableDiningFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

get_material_params()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.tables.dining_table.SideTableFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: TableDiningFactory

class infinigen.assets.objects.tables.dining_table.CoffeeTableFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: TableDiningFactory

strechers#

infinigen.assets.objects.tables.strechers.nodegroup_strecher(*args, **kwargs)[source]#

table_top#

class infinigen.assets.objects.tables.table_top.TableTopFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

static sample_parameters()[source]#
create_asset(**params)[source]#
infinigen.assets.objects.tables.table_top.nodegroup_capped_cylinder(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_top.nodegroup_generate_table_top(*args, **kwargs)[source]#

table_utils#

infinigen.assets.objects.tables.table_utils.nodegroup_n_gon_profile(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_n_gon_cylinder(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_generate_radius_curve(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_create_anchors(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_create_legs_and_strechers(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_create_cap(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_arc_top(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_align_bottom_to_floor(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_bent(*args, **kwargs)[source]#
infinigen.assets.objects.tables.table_utils.nodegroup_merge_curve(*args, **kwargs)[source]#

Module contents#

Tableware (.assets.objects.tableware)#

base#

class infinigen.assets.objects.tableware.base.TablewareFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

is_fragile = False#
allow_transparent = False#
create_asset(**params) bpy_types.Object[source]#
add_guard(obj, selection)[source]#
Parameters:
  • obj

  • selection

static make_double_sided(selection)[source]#
Parameters:

selection

finalize_assets(assets)[source]#
Parameters:

assets

solidify_with_inside(obj, thickness)[source]#
Parameters:
  • obj

  • thickness

bottle#

class infinigen.assets.objects.tableware.bottle.BottleFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

z_neck_offset = 0.05#
z_waist_offset = 0.15#
create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

make_bottle()[source]#
make_wrap(bottle)[source]#
Parameters:

bottle

make_cap()[source]#

bowl#

class infinigen.assets.objects.tableware.bowl.BowlFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

allow_transparent = True#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#

can#

class infinigen.assets.objects.tableware.can.CanFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
static geo_cap(nw)[source]#
Parameters:

nw (NodeWrangler)

make_coords()[source]#
make_wrap(coords)[source]#
Parameters:

coords

chopsticks#

class infinigen.assets.objects.tableware.chopsticks.ChopsticksFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

create_asset(**params) bpy_types.Object[source]#
make_parallel(obj)[source]#
Parameters:

obj

make_crossed(obj)[source]#
Parameters:

obj

make_single()[source]#

cup#

class infinigen.assets.objects.tableware.cup.CupFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

allow_transparent = True#
create_asset(**params) bpy_types.Object[source]#
add_handle(obj, handle_location, handle_angle)[source]#
Parameters:
  • obj

  • handle_location

  • handle_angle

make_wrap(obj)[source]#
Parameters:

obj

finalize_assets(assets)[source]#
Parameters:

assets

food_bag#

class infinigen.assets.objects.tableware.food_bag.FoodBagFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
make_base()[source]#
add_seal(obj)[source]#
Parameters:

obj

build_uv(obj)[source]#
Parameters:

obj

food_box#

class infinigen.assets.objects.tableware.food_box.FoodBoxFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**params)[source]#
create_asset(placeholder, **params) bpy_types.Object[source]#
Parameters:

placeholder

fork#

class infinigen.assets.objects.tableware.fork.ForkFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

x_end = 0.15#
is_fragile = True#
create_asset(**params) bpy_types.Object[source]#
make_cuts(obj)[source]#
Parameters:

obj

class infinigen.assets.objects.tableware.fork.SpatulaFactory(factory_seed, coarse=False)[source]#

Bases: ForkFactory

fruit_container#

class infinigen.assets.objects.tableware.fruit_container.FruitCover(factory_seed=0)[source]#

Bases: object

apply(obj, selection=None)[source]#
Parameters:
  • obj

  • selection -- (default: None)

class infinigen.assets.objects.tableware.fruit_container.FruitContainerFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_placeholder(**params)[source]#
create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

jar#

class infinigen.assets.objects.tableware.jar.JarFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
finalize_assets(assets)[source]#
Parameters:

assets

knife#

class infinigen.assets.objects.tableware.knife.KnifeFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

x_end = 0.5#
create_asset(**params) bpy_types.Object[source]#
make_knife_tip(obj)[source]#
Parameters:

obj

lid#

class infinigen.assets.objects.tableware.lid.LidFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(**params) bpy_types.Object[source]#
add_rim()[source]#
add_handle(obj)[source]#
Parameters:

obj

add_knob()[source]#
finalize_assets(assets)[source]#
Parameters:

assets

pan#

class infinigen.assets.objects.tableware.pan.PanFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

create_asset(**params) bpy_types.Object[source]#
make_base()[source]#
add_handle(obj)[source]#
Parameters:

obj

add_handle_hole(obj)[source]#
Parameters:

obj

plant_container#

class infinigen.assets.objects.tableware.plant_container.PlantPotFactory(factory_seed, coarse=False)[source]#

Bases: PotFactory

class infinigen.assets.objects.tableware.plant_container.PlantContainerFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

plant_factories = [<class 'infinigen.assets.objects.cactus.generate.CactusFactory'>, <class 'infinigen.assets.objects.mushroom.generate.MushroomFactory'>, <class 'infinigen.assets.objects.small_plants.fern.FernFactory'>, <class 'infinigen.assets.objects.small_plants.succulent.SucculentFactory'>, <class 'infinigen.assets.objects.small_plants.spider_plant.SpiderPlantFactory'>, <class 'infinigen.assets.objects.small_plants.snake_plant.SnakePlantFactory'>]#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(i, **params) bpy_types.Object[source]#
Parameters:

i

class infinigen.assets.objects.tableware.plant_container.LargePlantContainerFactory(factory_seed, coarse=False)[source]#

Bases: PlantContainerFactory

plant_factories = [<class 'infinigen.assets.objects.monocot.generate.MonocotFactory'>]#

plate#

class infinigen.assets.objects.tableware.plate.PlateFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

allow_transparent = True#
create_asset(**params) bpy_types.Object[source]#

pot#

class infinigen.assets.objects.tableware.pot.PotFactory(factory_seed, coarse=False)[source]#

Bases: PanFactory

post_init()[source]#
create_asset(**params) bpy_types.Object[source]#
create_placeholder(**kwargs) bpy_types.Object[source]#
add_bar(obj)[source]#
Parameters:

obj

spoon#

class infinigen.assets.objects.tableware.spoon.SpoonFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

x_end = 0.15#
is_fragile = True#
create_asset(**params) bpy_types.Object[source]#

wineglass#

class infinigen.assets.objects.tableware.wineglass.WineglassFactory(factory_seed, coarse=False)[source]#

Bases: TablewareFactory

create_asset(**params) bpy_types.Object[source]#

Module contents#

Trees (.assets.objects.trees)#

Utils (.assets.objects.trees.utils)#

geometrynodes#

infinigen.assets.objects.trees.utils.geometrynodes.coll_distribute(*args, **kwargs)[source]#
infinigen.assets.objects.trees.utils.geometrynodes.set_tree_radius(*args, **kwargs)[source]#

helper#

infinigen.assets.objects.trees.utils.helper.set_active_obj(obj)[source]#
Parameters:

obj

infinigen.assets.objects.trees.utils.helper.compute_dists(a, b)[source]#
Parameters:
  • a

  • b

infinigen.assets.objects.trees.utils.helper.rodrigues_rot(...)[source]#
Parameters:
  • vec

  • axis

  • angle

  • convert_to_rad -- (default: False)

materials#

Parameters:
  • nt

  • node1

  • field1

  • node2

  • field2

mesh#

infinigen.assets.objects.trees.utils.mesh.init_mesh(...)[source]#
Parameters:
  • name

  • verts -- (default: [])

  • edges -- (default: [])

  • faces -- (default: [])

  • coll -- (default: None)

infinigen.assets.objects.trees.utils.mesh.finalize_obj(obj)[source]#
Parameters:

obj

infinigen.assets.objects.trees.utils.mesh.vtx2cds(vtxs, world_mat)[source]#
Parameters:
  • vtxs

  • world_mat

infinigen.assets.objects.trees.utils.mesh.sample_vtxs(...)[source]#
Parameters:
  • obj

  • emit_from -- (default: 'VOLUME')

  • n -- (default: 1000)

  • seed -- (default: 1)

infinigen.assets.objects.trees.utils.mesh.get_pts_from_shape(...)[source]#
Parameters:
  • shape_fn

  • n -- (default: 10)

  • emit_from -- (default: 'VOLUME')

  • loc -- (default: (0, 0, 0))

  • scaling -- (default: 1)

  • pt_offset -- (default: 0)

infinigen.assets.objects.trees.utils.mesh.select_vtx_by_idx(obj, idx, deselect=False)[source]#
Parameters:
  • obj

  • idx

  • deselect -- (default: False)

infinigen.assets.objects.trees.utils.mesh.subsample_vertices(v, max_num=500)[source]#
Parameters:
  • v

  • max_num -- (default: 500)

branch#

class infinigen.assets.objects.trees.branch.BranchFactory(factory_seed, twig_col, fruit_col, coarse=False)[source]#

Bases: AssetFactory

sample_branch_params()[source]#
create_asset(**params)[source]#

generate#

class infinigen.assets.objects.trees.generate.GenericTreeFactory(
factory_seed,
genome,
child_col,
trunk_surface,
realize=False,
meshing_cameras=None,
cam_meshing_max_dist=10000000.0,
coarse_mesh_placeholder=False,
adapt_mesh_method='remesh',
decimate_placeholder_levels=0,
min_dist=None,
coarse=False,
)[source]#

Bases: AssetFactory

Parameters:

genome (TreeParams)

scale = 0.35#
create_placeholder(i, loc, rot)[source]#
Parameters:
  • i

  • loc

  • rot

finalize_placeholders(placeholders)[source]#
Parameters:

placeholders

asset_parameters(distance, vis_distance) dict[source]#
Parameters:
create_asset(...) bpy_types.Object[source]#
Parameters:
  • placeholder

  • face_size

  • distance

class infinigen.assets.objects.trees.generate.TreeFactory(seed, season=None, coarse=False, fruit_chance=1.0, **kwargs)[source]#

Bases: GenericTreeFactory

n_leaf = 5#
n_twig = 2#
static get_leaf_type(season)[source]#
Parameters:

season

static get_fruit_type()[source]#
class infinigen.assets.objects.trees.generate.BushFactory(seed, coarse=False, **kwargs)[source]#

Bases: GenericTreeFactory

n_leaf = 3#
n_twig = 3#
max_distance = 50#
infinigen.assets.objects.trees.generate.random_season(weights=None)[source]#
Parameters:

weights -- (default: None)

infinigen.assets.objects.trees.generate.random_species(season='summer', pine_chance=0.0)[source]#
Parameters:
  • season -- (default: 'summer')

  • pine_chance -- (default: 0.0)

infinigen.assets.objects.trees.generate.random_leaf_collection(season, n=5)[source]#
Parameters:
  • season

  • n -- (default: 5)

infinigen.assets.objects.trees.generate.make_twig_collection(...)[source]#
Parameters:
  • seed

  • twig_params

  • leaf_params

  • trunk_surface

  • n_leaf

  • n_twig

  • leaf_types

  • season -- (default: None)

  • twig_valid_dist -- (default: 6)

tree#

class infinigen.assets.objects.trees.tree.TreeVertices(vtxs=None, parent=None, level=None)[source]#

Bases: object

get_idxs()[source]#
get_edges()[source]#
append(v, p, l=None)[source]#
Parameters:
  • v

  • p

  • l -- (default: None)

class infinigen.assets.objects.trees.tree.TreeParams(
skeleton: dict,
trunk_spacecol: dict,
roots_spacecol: dict,
child_placement: dict,
skinning: dict,
)[source]#

Bases: object

Parameters:
  • skeleton (dict)

  • trunk_spacecol (dict)

  • roots_spacecol (dict)

  • child_placement (dict)

  • skinning (dict)

class infinigen.assets.objects.trees.tree.FineTreeVertices(vtxs=None, parent=None, level=None, radius_fn=None, resolution=1)[source]#

Bases: TreeVertices

append(v, p, l=None)[source]#
Parameters:
  • v

  • p

  • l -- (default: None)

property edges#
fix_first()[source]#
infinigen.assets.objects.trees.tree.tree_skeleton(...)[source]#
Parameters:
  • skeleton_params (dict)

  • trunk_spacecol (dict)

  • roots_spacecol (dict)

  • init_pos

  • scale

infinigen.assets.objects.trees.tree.skin_tree(nw, params, source_obj=None)[source]#
Parameters:
  • nw

  • params

  • source_obj -- (default: None)

infinigen.assets.objects.trees.tree.add_tree_children(...)[source]#
Parameters:
  • nw

  • child_col

  • params

  • merge_dist -- (default: None)

  • realize -- (default: False)

infinigen.assets.objects.trees.tree.build_radius_tree(...)[source]#
Parameters:
  • radius_fn

  • branch_config

  • base_radius -- (default: 0.002)

  • resolution -- (default: 1)

  • fix_first -- (default: False)

tree_flower#

class infinigen.assets.objects.trees.tree_flower.TreeFlowerFactory(factory_seed, rad=0.18, diversity_fac=0.25)[source]#

Bases: AssetFactory

static get_flower_params(overall_rad=0.05)[source]#
Parameters:

overall_rad -- (default: 0.05)

create_asset(**kwargs) bpy_types.Object[source]#
infinigen.assets.objects.trees.tree_flower.shader_flower_center(nw)[source]#
Parameters:

nw

infinigen.assets.objects.trees.tree_flower.shader_petal(nw, color_hsv)[source]#
Parameters:
  • nw

  • color_hsv

treeconfigs#

infinigen.assets.objects.trees.treeconfigs.shrub(init_pos=array([[0, 0, 0]]), shrub_shape=0)[source]#
Parameters:
  • init_pos -- (default: array([[0, 0, 0]]))

  • shrub_shape -- (default: 0)

infinigen.assets.objects.trees.treeconfigs.pine_tree(init_pos=array([[0, 0, 0]]))[source]#
Parameters:

init_pos -- (default: array([[0, 0, 0]]))

infinigen.assets.objects.trees.treeconfigs.random_tree(tree_genome=None, season='autumn')[source]#
Parameters:
  • tree_genome -- (default: None)

  • season -- (default: 'autumn')

Module contents#

Tropic Plants (.assets.objects.tropic_plants)#

coconut_tree#

class infinigen.assets.objects.tropic_plants.coconut_tree.CoconutTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(params={}, **kwargs)[source]#
Parameters:

params -- (default: {})

infinigen.assets.objects.tropic_plants.coconut_tree.shader_coconut_green_shader(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.tropic_plants.coconut_tree.shader_top_core(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.tropic_plants.coconut_tree.shader_trunk(nw)[source]#
Parameters:

nw (NodeWrangler)

leaf_banana_tree#

class infinigen.assets.objects.tropic_plants.leaf_banana_tree.LeafBananaTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_leaf_contour(mode)[source]#
Parameters:

mode

get_h_wave_contour(mode)[source]#
Parameters:

mode

get_w_wave_contour(mode)[source]#
Parameters:

mode

get_e_wave_contour(mode)[source]#
Parameters:

mode

update_params(**params)[source]#
create_asset(**params)[source]#
class infinigen.assets.objects.tropic_plants.leaf_banana_tree.PlantBananaTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

update_params(**params)[source]#
create_asset(**params)[source]#
infinigen.assets.objects.tropic_plants.leaf_banana_tree.shader_leaf_material(nw, stem_color_hsv)[source]#
Parameters:
  • nw (NodeWrangler)

  • stem_color_hsv

leaf_palm_plant#

class infinigen.assets.objects.tropic_plants.leaf_palm_plant.LeafPalmPlantFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

get_h_wave_contour(mode)[source]#
Parameters:

mode

update_params(params)[source]#
Parameters:

params

create_asset(params={}, **kwargs)[source]#
Parameters:

params -- (default: {})

infinigen.assets.objects.tropic_plants.leaf_palm_plant.shader_leaf_material(nw)[source]#
Parameters:

nw (NodeWrangler)

leaf_palm_tree#

class infinigen.assets.objects.tropic_plants.leaf_palm_tree.LeafPalmTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

update_params(params)[source]#
Parameters:

params

create_asset(params={}, **kwargs)[source]#
Parameters:

params -- (default: {})

infinigen.assets.objects.tropic_plants.leaf_palm_tree.shader_leaf_material(nw)[source]#
Parameters:

nw (NodeWrangler)

palm_tree#

class infinigen.assets.objects.tropic_plants.palm_tree.PalmTreeFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(params={}, **kwargs)[source]#
Parameters:

params -- (default: {})

infinigen.assets.objects.tropic_plants.palm_tree.shader_top_core(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.tropic_plants.palm_tree.shader_trunk(nw)[source]#
Parameters:

nw (NodeWrangler)

tropic_plant_utils#

infinigen.assets.objects.tropic_plants.tropic_plant_utils.nodegroup_nodegroup_leaf_gen(*args, **kwargs)[source]#
infinigen.assets.objects.tropic_plants.tropic_plant_utils.nodegroup_nodegroup_move_to_origin(*args, **kwargs)[source]#
infinigen.assets.objects.tropic_plants.tropic_plant_utils.nodegroup_nodegroup_leaf_rotate_x(*args, **kwargs)[source]#
infinigen.assets.objects.tropic_plants.tropic_plant_utils.nodegroup_nodegroup_sub_vein(*args, **kwargs)[source]#
infinigen.assets.objects.tropic_plants.tropic_plant_utils.nodegroup_nodegroup_leaf_shader(*args, **kwargs)[source]#
infinigen.assets.objects.tropic_plants.tropic_plant_utils.shader_stem_material(nw, stem_color_hsv=None)[source]#
Parameters:
  • nw (NodeWrangler)

  • stem_color_hsv -- (default: None)

Module contents#

Underwater (.assets.objects.underwater)#

seaweed#

class infinigen.assets.objects.underwater.seaweed.SeaweedFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(face_size=0.01, **params)[source]#
Parameters:

face_size -- (default: 0.01)

animate_bend(obj)[source]#
Parameters:

obj

static differential_growth_make(**kwargs)[source]#
static geo_seaweed_waves(nw)[source]#
Parameters:

nw (NodeWrangler)

static shader_seaweed(nw, base_hue=0.3)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue -- (default: 0.3)

urchin#

class infinigen.assets.objects.underwater.urchin.UrchinFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

create_asset(placeholder, face_size=0.01, **params)[source]#
Parameters:
  • placeholder

  • face_size -- (default: 0.01)

animate_stretch(obj)[source]#
Parameters:

obj

static geo_extrude(nw)[source]#
Parameters:

nw (NodeWrangler)

static shader_spikes(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static shader_girdle(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static shader_base(nw, base_hue)[source]#
Parameters:
  • nw (NodeWrangler)

  • base_hue

static geo_material_index(nw)[source]#
Parameters:

nw (NodeWrangler)

Module contents#

Wall Decorations (.assets.objects.wall_decorations)#

balloon#

class infinigen.assets.objects.wall_decorations.balloon.BalloonFactory(factory_seed, material_gen=None, coarse=False)[source]#

Bases: AssetFactory

alpha = 0.8#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(i, placeholder, **params) bpy_types.Object[source]#
Parameters:
  • i

  • placeholder

range_hood#

class infinigen.assets.objects.wall_decorations.range_hood.RangeHoodFactory(factory_seed, coarse=False, dimensions=None)[source]#

Bases: AssetFactory

initialize_materials()[source]#
static sample_parameters(dimensions)[source]#
Parameters:

dimensions

create_asset(**params)[source]#
finalize_assets(assets)[source]#
Parameters:

assets

skirting_board#

infinigen.assets.objects.wall_decorations.skirting_board.make_skirting_board(...)[source]#
Parameters:
  • constants

  • objs

  • tag

  • joined -- (default: True)

wall_art#

class infinigen.assets.objects.wall_decorations.wall_art.WallArtFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

assign_materials()[source]#
create_placeholder(**params)[source]#
create_asset(placeholder, **params) bpy_types.Object[source]#
Parameters:

placeholder

finalize_assets(assets)[source]#
Parameters:

assets

class infinigen.assets.objects.wall_decorations.wall_art.MirrorFactory(factory_seed, coarse=False)[source]#

Bases: WallArtFactory

assign_materials()[source]#

wall_shelf#

class infinigen.assets.objects.wall_decorations.wall_shelf.WallShelfFactory(factory_seed, coarse=False)[source]#

Bases: AssetFactory

support_sides_ = ('weighted_choice', (0.5, 'none'), (1, 'bottom'), (1, 'top'), (1.5, 'both'))#
support_margins = ('weighted_choice', (2, 0), (1, ('uniform', 0.0, 0.2)))#
support_ratios = ('weighted_choice', (2, 1), (1, ('uniform', 0.5, 0.9)))#
support_alphas = ('weighted_choice', (1, 1), (1, ('weighted_choice', (1, ('log_uniform', 0.4, 0.7)), (2, ('log_uniform', 1.5, 3)), (1, 10))))#
support_joins = ('mitre', 'round', 'bevel')#
plate_bevels = ('weighted_choice', (1, 'none'), (1, 'front'), (1, 'side'))#
plate_surfaces = ('weighted_choice', (10, <class 'infinigen.assets.materials.wood.wood.Wood'>), (3.0, <class 'infinigen.assets.materials.metal.metal_basic.MetalBasic'>), (2.0, <class 'infinigen.assets.materials.metal.brushed_metal.BrushedMetal'>), (1.0, <class 'infinigen.assets.materials.metal.galvanized_metal.GalvanizedMetal'>), (1.0, <class 'infinigen.assets.materials.metal.grained_and_polished_metal.GrainedMetal'>), (0.7, <class 'infinigen.assets.materials.metal.hammered_metal.HammeredMetal'>), (0.3, <class 'infinigen.assets.materials.metal.appliance.BrushedBlackMetal'>))#
support_surfaces = ('weighted_choice', (3.0, <class 'infinigen.assets.materials.metal.metal_basic.MetalBasic'>), (2.0, <class 'infinigen.assets.materials.metal.brushed_metal.BrushedMetal'>), (1.0, <class 'infinigen.assets.materials.metal.galvanized_metal.GalvanizedMetal'>), (1.0, <class 'infinigen.assets.materials.metal.grained_and_polished_metal.GrainedMetal'>), (0.7, <class 'infinigen.assets.materials.metal.hammered_metal.HammeredMetal'>), (0.3, <class 'infinigen.assets.materials.metal.appliance.BrushedBlackMetal'>), (5, <class 'infinigen.assets.materials.wood.wood.Wood'>), (5, <class 'infinigen.assets.materials.plastic.plastic_rough.PlasticRough'>))#
create_placeholder(**kwargs) bpy_types.Object[source]#
create_asset(**params) bpy_types.Object[source]#
make_plate()[source]#
make_support_contour()[source]#
make_support()[source]#

Module contents#

Windows (.assets.objects.windows)#

window#

class infinigen.assets.objects.windows.window.WindowFactory(
factory_seed,
dimensions=None,
coarse=False,
open=None,
curtain=None,
shutter=None,
)[source]#

Bases: AssetFactory

static sample_parameters()[source]#
sample_asset_params(...)[source]#
Parameters:
  • dimensions -- (default: None)

  • open -- (default: None)

  • curtain -- (default: None)

  • shutter -- (default: None)

create_asset(...)[source]#
Parameters:
  • dimensions -- (default: None)

  • open -- (default: None)

  • realized -- (default: True)

infinigen.assets.objects.windows.window.shader_window_glass(nw)[source]#

Non-refractive glass shader, since windows consist of a one-sided mesh currently and would not properly refract-then un-refract the light

Parameters:

nw (NodeWrangler)

infinigen.assets.objects.windows.window.shader_glass_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.windows.window.shader_curtain_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.windows.window.shader_curtain_frame_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.windows.window.shader_frame_material(nw)[source]#
Parameters:

nw (NodeWrangler)

infinigen.assets.objects.windows.window.shader_wood(nw)[source]#
Parameters:

nw (NodeWrangler)

Module contents#