bpy.ops.fluid.bake_data
将流体模拟数据存储为缓存文件。
bpy.ops.fluid.bake_data()
无。
无。
import bpy
# 设置场景
bpy.ops.scene.new(type='FULL_SCREEN')
scene = bpy.context.scene
scene.frame_start = 0
scene.frame_end = 50
# 添加流体模拟
bpy.ops.mesh.primitive_cube_add(location=(0, 0, 2))
obj = bpy.context.active_object
bpy.ops.object.modifier_add(type='FLUID_SIMULATION')
bpy.context.object.modifiers["Fluid"].fluid_type = 'DOMAIN'
bpy.context.object.modifiers["Fluid"].domain_settings.time_scale = 0.1
# 开始模拟
bpy.ops.fluid.bake_init(override={'scene': scene})
bpy.ops.fluid.bake_data()
# 获取缓存文件路径
cache_dir = bpy.context.scene.render.frame_path(
bpy.path.abspath("//fluid_cache"), scene=scene)
# 从缓存文件中加载数据
bpy.ops.fluid.bake_load(directory=cache_dir, files=[{"name": "fluid", "start": 0, "end": 50}], filepath=cache_dir)
# 渲染
bpy.context.scene.render.engine = 'CYCLES'
bpy.context.scene.cycles.device = 'CPU'
bpy.ops.render.render(animation=True)