
计算机视觉数据增强媒体生成【免费下载链接】infinigenInfinite Photorealistic Worlds using Procedural Generation项目地址https://gitcode.com/gh_mirrors/in/infinigen点击查看免费下载本篇技术指南以 docs/source/GeneratingFluidSimulations.md 为骨架系统讲解如何在 Infinigen 中生成火焰与河流两类流体仿真场景。你将掌握编译安装 FLIP Fluids 插件、在场景生成流水线中开启实时烘焙火焰on-the-fly fire、构建山谷河流仿真、以及预生成火焰资产cached fire以避免重复仿真的完整工作流并理解背后 Mantaflow气体域与 FLIP Fluids液体域两套求解器的源码级实现原理。前置条件安装与运行环境约束流体模拟在 Infinigen 中并非默认启用开始之前请确保已按 docs/source/Installation.md 和 docs/source/HelloWorld.md 完成基础安装并清楚如下两条硬性前提必须额外执行插件编译步骤运行bash scripts/install/compile_flip_fluids.sh该脚本会在基础安装完成后克隆 FLIP Fluids 插件源码锁定在v0.8.3标签这是 Alembic 成为硬性构建依赖之前的最后一个版本、执行python build.py完成编译随后通过 flip_init.py 在独立 Blender 会话内把编译产物复制进 Blender 用户插件目录并启用flip_fluids_addon。河流/液体仿真依赖此插件火焰仿真则依赖 Blender 内置的 Mantaflow。火焰仿真必须使用交互式 BlenderHeadless无头Blender 在烘焙火焰时存在已知的 Mantaflow 报错对应仓库 issue #318 讨论的问题因此火焰场景一律通过python -m infinigen.launch_blender启动。这也是下文所有火焰命令都带有--pipeline_overrides get_cmd.interactive_blenderTrue的原因——该参数在 job_funcs.py 中会强制子任务以-m infinigen.launch_blender方式启动而非直接运行驱动脚本。此外流体仿真对计算资源的要求显著高于普通场景生成请在 256GB 内存级别的工作站或高内存 SLURM 分区上运行。快速上手两条开箱即用的示例命令实时生成单个场景的火焰仿真视频python -m infinigen.datagen.manage_jobs --specific_seed 3930249d --output_folder outputs/fire --num_scenes 1 --pipeline_config local_256GB.gin monocular_video.gin --cleanup none --config plain.gin fast_terrain_assets.gin use_on_the_fly_fire.gin --pipeline_overrides get_cmd.interactive_blenderTrue--config中的use_on_the_fly_fire.gin决定哪些资产会被实时点燃见下文配置解析--pipeline_overrides get_cmd.interactive_blenderTrue切换为交互式 Blender 执行。由于流体仿真耗时极长可在 use_on_the_fly_fire.gin 中通过set_obj_on_fire.resolution {resolution}调低火焰分辨率以换取速度该文件默认值为430。分辨率越低火焰细节越粗糙但烘焙显著加快。生成单个山谷场景的河流仿真视频python -m infinigen.datagen.manage_jobs --specific_seed 61fc881a --output_folder outputs/river --num_scenes 1 --pipeline_config local_256GB.gin monocular_video.gin opengl_gt.gin cuda_terrain.gin --pipeline_overrides iterate_scene_tasks.frame_range[100,244] --config river.gin simulated_river.gin no_assets.gin no_creatures.gin fast_terrain_assets.gin --cleanup none该命令要点simulated_river.gin位于 src/infinigen_examples/configs_nature/scene_types_fluidsim/simulated_river.gin包含river.gin并开启compose_nature.simulated_river_enabled True驱动场景组合阶段调用fluid.make_river()--pipeline_overrides iterate_scene_tasks.frame_range[100,244]将渲染帧范围限制为视频实际需要的 100244 帧避免仿真超出需求no_assets.gin no_creatures.gin fast_terrain_assets.gin用于精简场景、加速生成。与火焰类似河流仿真可通过make_river.resolution与make_river.simulation_duration两个参数调速该文件默认resolution 400、simulation_duration 250。例如先将simulation_duration缩到略大于 200视频最后一帧即可在不影响画面完整性的前提下大幅缩短仿真时间。关于场景中其他物体与液体的交互上述命令刻意移除了资产no_assets.gin以提速。但 FLIP Fluids 中液体是靠溅到障碍物上产生真实交互效果的——如果你希望看到液体溅射、浪花拍打岩石等效果去掉no_assets.gin即可让岩石、树木等资产作为仿真障碍物参与计算。批量生成随机场景类型 按需实时火焰python -m infinigen.datagen.manage_jobs --output_folder outputs/onthefly --num_scenes 10 \ --pipeline_config slurm_high_memory.gin monocular_video.gin \ --config fast_terrain_assets.gin use_on_the_fly_fire.gin \ --cleanup none --warmup_sec 12000 \ --pipeline_overrides get_cmd.interactive_blenderTrue批量生成山谷河流场景python -m infinigen.datagen.manage_jobs --output_folder /n/fs/pvl-renders/kkayan/river --num_scenes 10 \ --pipeline_config slurm_high_memory.gin monocular_video.gin opengl_gt.gin cuda_terrain.gin \ --pipeline_overrides iterate_scene_tasks.frame_range[100,244] \ --config simulated_river.gin no_assets.gin no_creatures.gin fast_terrain_assets.gin \ --cleanup none --warmup_sec 12000两处批量命令将pipeline_config换成slurm_high_memory.gin高内存 SLURM 分区配置位于 src/infinigen/datagen/configs/compute_platform并增加--warmup_sec 12000的预热等待为仿真任务预留充分的机器资源调度时间。深入火焰仿真Mantaflow 气体域的源码实现火焰仿真全部实现在 src/infinigen/assets/fluid/fluid.py核心入口是set_obj_on_fire()fluid.py其工作流程为递归点火fire_dfs()遍历目标物体及其所有子网格逐个调用set_gas_flow_settings()把网格设为INFLOW流入型流体发射器flow 类型支持fire_and_smoke火烟、smoke、fire三种燃料量fuel_amount默认在 0.81.2 之间随机创建气体域调用 Blender 内置的bpy.ops.object.quick_smoke()生成自适应烟雾域再用set_gas_domain_settings()覆写关键参数烘焙bpy.ops.fluid.bake_all()完成全部帧的求解。set_gas_domain_settings()fluid.py涉及的求解器核心参数参数默认/随机行为说明resolution32gin 可覆写域最大分辨率resolution_max火焰质量的决定性参数use_adaptive_domainTrue自适应域火焰扩散时自动扩展求解范围use_noise/noise_scaleTrue / 2湍流细节层noise开关与尺度flame_vorticity0.450.55 随机火焰涡量影响火焰卷曲形态burning_rate0.500.80 随机燃烧速率vorticity00.1 随机烟气涡量dissolve_speed25gin 可覆写大于 0 时开启use_dissolve_smoke控制烟雾消散速度cache_frame_start/end由 start_frame 与 simulation_duration 推算烘焙帧区间set_obj_on_fire()自身还提供fluid_type、adaptive_domain、add_turbulence在火焰上方 23 单位处添加随机噪声力场、dom_scale域放大倍数默认 1.1 以覆盖火焰扩散等 gin 可配置项。火焰材质由blackbody.apply()施加黑体辐射着色器见 src/infinigen/assets/materials/fluid。在场景组合阶段generate_nature.py 按fire_warmup默认 50 帧向前回推点火起始帧simulation_duration frame_end - frame_start fire_warmup随后分别对trees/bushes/boulders/cactus四个种群运行trees_fire_on_the_fly等阶段调用set_fire_to_assets()fluid.py——该函数按物体到相机距离排序后最多点燃max_fire_assets默认 1个距离最近的资产避免多个火焰域同时烘焙导致资源爆炸。use_on_the_fly_fire.gin 配置解析实时火焰场景由 src/infinigen_examples/configs_nature/extras/use_on_the_fly_fire.gin 控制各资产被点燃的概率配置项默认值含义populate_scene.trees_fire_on_the_fly_chance0.1树被实时点燃的概率populate_scene.bushes_fire_on_the_fly_chance0.8灌木被点燃概率火焰场景主力populate_scene.creatures_fire_on_the_fly_chance0生物如奔跑的动物被点燃概率populate_scene.boulders_fire_on_the_fly_chance0.1巨石被点燃概率populate_scene.cactus_fire_on_the_fly_chance0.1仙人掌被点燃概率compose_nature.cached_fireFalse关闭缓存火焰模式compose_nature.glowing_rocks_chance0.0关闭发光岩石避免与火焰视觉冲突LandTiles.land_processesNone关闭地形侵蚀等耗时的地表处理configure_render_cycles.exposure0.4提高 Cycles 曝光匹配火光照明set_obj_on_fire.resolution430火焰求解分辨率调小可提速set_obj_on_fire.dissolve_speed25烟雾消散速度深入河流仿真FLIP Fluids 液体域的源码实现河流仿真基于 FLIP Fluids 插件实现核心在 src/infinigen/assets/fluid/flip_fluid.py。make_river()flip_fluid.py是标准山谷河流入口流程为克隆水体并隐藏静态水面复制场景中的liquid静态水面对象用make_still_water()以布尔运算与域求交、与地形求差切出初始水体并赋初速度(0, flow_velocity, 0)创建 FLIP 域create_flip_fluid_domain()flip_fluid.py在dom_location创建立方体域尺寸dom_dimensions(10.5, 24.5, 3.7)并关闭六个边界碰撞设置进出水口在inflow_location与outflow_location处创建立方体与域求交、与地形求差后分别设为INFLOW带flow_velocity初速度与OUTFLOW形成持续的河流循环设置障碍物obstacle_terrain()克隆地形为 FLIP 障碍物obstacle_dfs()递归处理落入域内的岩石等资产均带摩擦系数terrain_friction默认 0.3烘焙bpy.ops.flip_fluid_operators.bake_fluid_simulation_cmd()。set_flip_fluid_domain()flip_fluid.py揭示液体求解的关键细节白水粒子系统默认开启enable_whitewater_simulation并启用 foam泡沫、bubbles气泡、spray水花三类粒子wavecrest_emission_rate、turbulence_emission_rate默认 225spray_emission_speed默认 1.2whitewater_particle_scale由particle_size控制表面细分与张力subdivisions2细分表面网格开启enable_surface_tension表面张力与enable_sheet_seeding薄片播种让水幕与飞溅更真实材质水面施加river_water材质白水粒子施加whitewater材质见 src/infinigen/assets/materials/fluid。此外模块还提供make_tilted_river()flip_fluid.py落差型倾斜河流flow_velocity-4、time_scale0.5慢放流速与make_beach()flip_fluid.py带造浪器add_wave_pusher的海滩场景可作为扩展参考。make_river的全部 gin 参数见 simulated_river.gin如resolution、simulation_duration、flow_velocity、particle_size而河流场景的地形构成由其 include 的 river.gin 定义——LandTiles.tiles [Mountain, River, Mountain]的三段式拼贴与tile_heights [1.75, -0.75, 1.75]的落差共同塑造出山谷河道。使用预生成的火焰缓存Cached Fire高分辨率火焰仿真极耗时间因此 Infinigen 支持预先烘焙火焰资产、在生成场景时直接导入让同一团火焰只仿真一次、反复复用。第一步批量预生成全部类型火焰资产python -m infinigen.launch_blender -m infinigen.tools.submit_asset_cache -- -f {fire_asset_folder} -n 1 -s -40 -d 184其中{fire_asset_folder}为输出目录-n控制每种资产的数量-s与-d分别指定起始帧与仿真时长。该命令会依次生成 bush、tree、creature、cactus、boulder 五类资产的火焰仿真。第二步仅预生成单一类型资产python -m infinigen.launch_blender -m infinigen.assets.fluid.run_asset_cache -- -f {fire_asset_folder} -a {asset} -s {start_frame} -d {simulation_duration}asset可选值为CachedBushFactory、CachedTreeFactory、CachedCactusFactory、CachedCreatureFactory、CachedBoulderFactory——这些工厂类定义在 cached_factory_wrappers.py是对原有资产工厂的缓存包装。run_asset_cache.pyrun_asset_cache.py还支持-e/--estimate_domain先以低分辨率预估烟雾域尺寸、-r/--resolution、--dissolve_speed、--dom_scale等进阶参数。缓存产物结构每份资产保存在asset_folder/Fire/FactoryName/序号/下包含simulation.blend烘焙完成的仿真文件与config.json记录species、i、物体与域的位置/旋转。这套目录组织与元数据由 asset_cache.py 的FireCachingSystem管理create_cached_assets()完成资产生成与保存get_cached_species()在生成场景时读取可用物种link_fire()通过bpy.ops.wm.append将烘焙域导入场景并按其与物体的相对位姿对齐。第三步在场景生成中导入预生成火焰编辑 src/infinigen_examples/configs_nature/extras/use_cached_fire.gin将FireCachingSystem.asset_folder设为预生成时的fire_asset_folder。随后生成场景时用use_cached_fire.gin替换use_on_the_fly_fire.gin即可例如python -m infinigen.datagen.manage_jobs --specific_seed 3930249d --output_folder outputs/fire --num_scenes 1 --pipeline_config local_256GB.gin monocular_video.gin --cleanup none --config plain.gin fast_terrain_assets.gin use_cached_fire.gin --pipeline_overrides get_cmd.interactive_blenderTrueuse_cached_fire.gin与实时模式的差异在于它将五个fire_on_the_fly_chance全部归零不再实时点火转而通过compose_nature.cached_fire_trees_chance 0.5、cached_fire_bushes_chance 1、cached_fire_boulders_chance 0.3、cached_fire_cactus_chance 0.4控制各资产类别的缓存火焰放置概率并开启compose_nature.cached_fire True与populate_scene.cached_fire True。在 generate_nature.py 中这两个开关会实例化FireCachingSystem并驱动populate_cached_fire_*阶段按缓存物种库放置火焰资产。常见问题与调优建议火焰报 Mantaflow 错误务必使用交互式 Blenderinteractive_blenderTrue不要用无头模式烘焙火焰仿真太慢优先降低set_obj_on_fire.resolution/make_river.resolution其次缩短simulation_duration注意河流时长不要小于视频最后帧批量任务可把--warmup_sec调大以保证资源就绪河流无溅射交互去掉no_assets.gin让资产作为障碍物参与 FLIP 求解火焰/水花地面真值火焰域可通过 fluid.py 的fire_smoke_ground_truth()从缓存目录导入体积数据并转网格配合opengl_gt.gin等地面真值渲染选项使用相关说明见 docs/source/GroundTruthAnnotations.md。延伸阅读安装流程docs/source/Installation.md入门场景docs/source/HelloWorld.md流体资产源码src/infinigen/assets/fluid含fluid.py、flip_fluid.py、asset_cache.py、run_asset_cache.py、flip_init.py流体材质src/infinigen/assets/materials/fluid相关场景配置river.gin、simulated_river.gin、use_on_the_fly_fire.gin、use_cached_fire.gin赞分享计算机视觉数据增强媒体生成【免费下载链接】infinigenInfinite Photorealistic Worlds using Procedural Generation项目地址https://gitcode.com/gh_mirrors/in/infinigen点击查看免费下载相关推荐Infinigen流体仿真终极指南如何快速生成逼真的火焰和水流效果Infinigen流体仿真终极指南如何快速生成逼真的火焰和水流效果 Infinigen是一款强大的程序化生成工具能够创建无限逼真的虚拟世界。本指南将带你探索计算机视觉数据增强媒体生成Meta Llama 3模型完全指南从8B到70B参数版本的核心特性对比Meta Llama 3模型完全指南从8B到70B参数版本的核心特性对比 Meta Llama 3模型是Meta公司推出的最新一代大型语言模型系列为开发者和图神经网络仿真终极指南流体力学模拟的完整解决方案图神经网络仿真终极指南流体力学模拟的完整解决方案 在当今数字化时代图神经网络仿真技术正在彻底改变传统物理模拟的方式。本文将为您详细介绍如何利用图神经网络进行人工智能深度学习流体仿真科学计算上一篇WordPress Abilities API Client在 Gutenberg 中使用 wordpress/abilities 发现与执行能力下一篇terraform-provider-aws 中的 Terraform Plugin Framework 迁移实践指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考