infinigen
infinigen copied to clipboard
Retrieve all configurable config/gin parameters.
Are all the parameters in the gin files under infinigen_examples/configs/scene_types currently supported by Infinigen, and can the effects shown in Infinigen's official promotional video be achieved by adjusting these parameters? I hope to figure out how many customizable options there are in total.
Hello,
Unfortunately there is no single easily accessible list of all the customization options present in the current version of infinigen. There is customizable-parameter-count numbers in the original CVPR paper, which does provide a somewhat exhaustive list of the parameters available at that time, but it is now out of date (the codebase is roughly twice as large). We are working on standardizing the random parameter format into something that is uniform across all assets, which would enable them to be easily counted, but at the moment the only way to know for sure is to go into implementations and count them (as we did for CVPR)
The majority of videos in the intro video are directly taken from the result of running manage_jobs
with monocular_video
on our slurm cluster. the exceptions I can think of are:
- any videos with fluid/fire sims came from a separate run using the
GeneratingFluidSimulations.md
docs - for scenes with effects designed only for the video (stopping time, dissolving the whole scene, etc) we some extra specific code to randomly generate these, but they are achievable with small amounts of additional python/geometrynodes.
- the videos towards the end with asset parameters being adjusted are generated by stitching together many runs of
infinigen_examples/generate_asset_demo.py
with different parameters each time.
Let me know if you have further questions. I wish I could provide a more concrete number, as I think measuring the overall complexity would be useful. Although, it is also worth noting that infinigen also contains millions and millions more random numbers than just these user interpretable ones - besides the user interpretable values like "tree branching frequency" and "bark noise magnitude" there is also millions like "exact angle of every leaf" and "exact displacement of every vertex" or "how did the light bounce during raytracing".
Thank you very much for your patient reply; it has been a huge help to me! Additionally, I would like to ask if InfiniGen supports importing content from an existing 3D material library.
Yes, importing existing materials is not hard at all, you can apply them to infinigen objects the same as you would to any other blender object.
I mean to ask if it's possible to call the material library directly within InfiniGen when generating scenes (which might require completing the corresponding asset class code), rather than generating a .blend file and then having modelers add it manually. Can this be achieved?
For example, I have a batch of FBX files that contain motion information. I hope to implement character movement in the rendered scene.
Hello @Enderfga, just wonder are you able to figure this out, or have any progress with this?
@araistrick Since you mentioned there are "millions" of numbers, will you plan to release an official doc for explaining those interpretable options/parameters in a near future?
The million random numbers are the non-user-interpretable randomness, IE per vertex random displacement or per ray bounce randomness. These are undocumentable and uncontrollable although their seed can be recorded.
I do intend to create documentation and apis for the named controllable parameters but have no specific timeline as it is a large undertaking
Hello @Enderfga, just wonder are you able to figure this out, or have any progress with this?
@araistrick Since you mentioned there are "millions" of numbers, will you plan to release an official doc for explaining those interpretable options/parameters in a near future?
you can try 'gin.operative_config_str()'
This will get you what is exposed to gin, which is a start but far from everything.
In practice the majority of parameters (named random variables) are only accessible via python kwargs or dicts or even editing python.
I intend to unify the interface and expose these but until then there is partial access via gin
I see, thank you both for sharing the info! A quick follow-up for @araistrick's comment, are those major random variables also user-interpretable or they are not? I believe it would make Infinigen more accessible with the official doc.
@Enderfga Actually, I was wondering about your previous question about implementing character movement in the rendered scene. Do you perhaps have any luck with that?
For example, I have a batch of FBX files that contain motion information. I hope to implement character movement in the rendered scene.