blender2.9水流效果演示及其python脚本实现
下载
在官网下载的blender2.9:官网
点了这俩就可以了,我还从steam上下载过,感觉都一样。
手动实现
然后要实现水流效果我找到有一个不错的视频讲解:https://www.bilibili.com/video/av499439226/
先打开blender并选择general:
快捷键S调大一点这个cube
快捷键Z并将鼠标向左划可以看框架:
shift+A新建一个小东西,任何东西都可以:
可以用快捷键G来调他的位置
选中这个小东西,让其框架为黄色,做如下设置:
下面的似乎是设置水流大小,如果不点击initial velocity应该就是默认值。
配置好源头还要配置域,就是我们的大正方形:
点击大正方形或者右上角的collection里选择Cube
做如下配置:
然后点击下面的开始按钮或者空格就可以看一下效果了,如果不满意还可以点原来的bake all那个按钮,现在已经是free all了,点击释放数据,重新配置后可以重新bake:
python的实现
python实现和这个步骤一样,就是写成代码的形式来进行勾选、点击。但是bake我还是在界面中点击的bake all,感觉blender2.9这里有点问题。具体代码如下:
lz.py
import bpy
C = bpy.context
D = bpy.data
bpy.ops.object.modifier_add(type = 'FLUID')
C.object.modifiers["Fluid"].fluid_type = 'FLOW'
C.object.modifiers["Fluid"].flow_settings.flow_type = 'LIQUID'
C.object.modifiers["Fluid"].flow_settings.flow_behavior = 'INFLOW'
C.object.modifiers["Fluid"].flow_settings.use_initial_velocity = 1
C.object.modifiers["Fluid"].flow_settings.velocity_coord=[0,0,-2]
bpy.ops.mesh.primitive_cube_add(location=(0,0,0))
C.object.scale = [10,10,10]
bpy.ops.object.modifier_add(type = 'FLUID')
C.object.modifiers["Fluid"].fluid_type = 'DOMAIN'
C.object.modifiers["Fluid"].domain_settings.domain_type = 'LIQUID'
C.object.modifiers["Fluid"].domain_settings.use_mesh = 1
C.object.modifiers["Fluid"].domain_settings.cache_type = 'ALL'
C.object.modifiers["Fluid"].domain_settings.cache_frame_end = 60
# i.modifiers["Fluid"].domain_settings.cache_directory = "D:/LZ/blenderdata"
# bpy.ops.object.select_all(action='DESELECT')
# bpy.data.objects["Cube"].select_set(True)
# C.object.scale = [20,10,10]
# bpy.ops.object.select_pattern(pattern="Cube")
# bpy.context.view_layer.objects.active=bpy.data.objects["Cube"]
#bpy.ops.fluid.bake_all()
print("xuanranwanle")
然后在cmd中输入
D:\LZ\blender2.9\blender.exe --python C:\Users\xupp\Desktop\lz.py
就可以运行了,配置好只需要在blender中点击bake all即可。