I’ve run the following experiments:
- people: OK
- people with accessories: OK
- people with accessories + clutter: BUG
- people with accessories + pallet jacks: OK
- people with accessories + pallet jack riding: OK
- people with accessories + traffic lights: OK
Seems like the “+ clutter” one is causing trouble. The cluter is as follows:
from base_spawner import BaseSpawner
from scenes.base_scene_config import SceneConfig
from omni.replicator.core.scripts.utils.utils import ReplicatorItem
import omni.replicator.core as rep
CLUTTER = [
# "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Demos/AEC/BrownstoneDemo/Props/Hydrant/Hydrant.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/PostScriptum/Maps/EntryMap/Props/SM_trashcans.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/ArchVis/Residential/Outdoors/Planters/SquareGardenPlanter_Tall.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/ArchVis/Residential/Outdoors/Planters/Anza_Large.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/ArchVis/Residential/Outdoors/Planters/ChippedPlanter_Large.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/PostScriptum/Maps/EntryMap/Props/SM_Workshop_Ladder.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/PostScriptum/Maps/EntryMap/Props/WoodenBox_Stack_C.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/BannerlordII/Props/market_potteryPile4.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/BannerlordII/Props/weapon_rack_vlandia_a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Machinima/Squad/Stages/Desert/Props/Ace_Van.usd",
# "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/Vegetation/Trees/Common_Apple.usd",
# "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/Vegetation/Trees/Red_Oak.usd",
# "http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/NVIDIA/Assets/Vegetation/Trees/Japanese_Maple_Fall.usd",
]
CLUTTER_SM = [
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BarelPlastic_B_03.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BarelPlastic_C_02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticA_02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticB_01.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticA_02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticA_02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticD_01.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BottlePlasticE_01.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Simple_Warehouse/Props/SM_BucketPlastic_B.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Props/Forklift/forklift.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/Pharmacy_Low.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_BedSideTable_01b.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_BooksSet_26.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_BottleB.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_BottleA.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_BottleC.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Cart_01a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Chair_02a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Chair_01a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Computer_02b.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Desk_04a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_DisposalStand_02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_FirstAidKit_01a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_GasCart_01c.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Gurney_01b.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_HospitalBed_01b.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_MedicalBag_01a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Mirror.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_MopSet_01b.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_SideTable_02a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_SupplyCabinet_01c.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_SupplyCart_01e.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_TrashCan.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_Washbasin.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Hospital/Props/SM_WheelChair_01a.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_WaterCooler.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_TV.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_TableC.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_Recliner.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_Personenleitsystem_Red1m.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_Lamp02_162.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_Lamp02.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_HandDryer.usd",
"http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.2/Isaac/Environments/Office/Props/SM_Extinguisher.usd",
]
class ClutterSpawner(BaseSpawner):
def on_trigger_inner(self, seed : int, floor : lambda : ReplicatorItem, config : SceneConfig, clutter : list[str], scale_lower, scale_upper):
seed = seed + 1
with rep.randomizer.instantiate(paths=clutter,size=int(config.clutterCount / 2),mode="scene_instance"):
rep.modify.pose(scale=rep.distribution.uniform(scale_lower,scale_upper),
rotation=rep.distribution.uniform([0, 0, -180],[0, 0, 180]))
rep.randomizer.scatter_2d(seed=seed,surface_prims=[floor()],check_for_collisions=True,min_samp=config.scatterRange[0],max_samp=config.scatterRange[1])
return seed
def on_trigger(self, seed : int, floor : lambda : ReplicatorItem, config):
if config.clutterCount > 1:
seed = self.on_trigger_inner(seed, floor, config, CLUTTER, 0.8, 1.2)
seed = self.on_trigger_inner(seed, floor, config, CLUTTER_SM, 80, 120)
As you can see we rely only on the NVIDIA-provided content for clutter.
I am now running more experiments to make sure this is the right track:
- people with accessories + pallet jacks + pallet jack riding+ traffic lights
@pcallender I am sending you the usd on private message. Copywright protected content.
Its VERY STRANGE as it seems to break PEOPLE-related annotations when CLUTTER is spawned.
What I can say the structure of a person asset has been modified by our artists and perhaps its in conflict with something from clutter?