当前位置: 首页 > news >正文

现有的网站开发技术正规优化公司哪家好

现有的网站开发技术,正规优化公司哪家好,wordpress增加阅读量,web界面模板做流体模拟的时候,想要复现别人的成果,但是别人的代码都是每帧输出 ply 格式的文件,渲染部分需要自己完成 看了一下,似乎用 blender 是最简单的,于是记录一下过程中用到的代码 Blender 版本 4.0 批量导入 ply 假设…

做流体模拟的时候,想要复现别人的成果,但是别人的代码都是每帧输出 ply 格式的文件,渲染部分需要自己完成

看了一下,似乎用 blender 是最简单的,于是记录一下过程中用到的代码

Blender 版本 4.0

批量导入 ply

假设所有 ply 文件都和 blend 文件位于同一目录

ply 文件的文件名格式是 00001.ply, 00002.ply, 000123.ply 之类,编号表示帧数

希望导入所有 ply 文件,都放在一个 collection 里面,并且只连接到这个 collection

import bpy 
import osin_dir = bpy.path.abspath("//")
filters = []  # files to ignore
files_number = 0def only_link_to_one_collection(obj, collection):for other_col in obj.users_collection:other_col.objects.unlink(obj)if obj.name not in collection.objects:collection.objects.link(obj)def import_ply(path, filters):need_file_items = []need_file_names = []filterDict = {}for item in filters:filterDict[item] = True;file_lst = os.listdir(path)for item in file_lst:fileName, fileExtension = os.path.splitext(item)if fileExtension == ".ply" and (not item in filterDict):need_file_items.append(item)need_file_names.append(fileName)fluid_mesh_collection = bpy.data.collections.new(name='FluidMesh')bpy.context.scene.collection.children.link(fluid_mesh_collection)files_number = len(need_file_items)for i in range(files_number):item = need_file_items[i]itemName = need_file_names[i]ufilename = path + "\\" + itembpy.ops.wm.ply_import(filepath=ufilename)cur_obj = bpy.data.objects[itemName]if (cur_obj):only_link_to_one_collection(cur_obj, fluid_mesh_collection)cur_obj.hide_set(False)cur_obj.hide_render = Trueimport_ply(in_dir, filters)

Mesh 预处理

删除没有使用到的材质

import bpytoRemove = [block for block in bpy.data.materials if block.users == 0]
for block in toRemove:bpy.data.materials.remove(block)

添加 Glass BSDF 材质

import bpyfluid_mat = bpy.data.materials.new("FluidMat")
fluid_mat.use_nodes = Trueprincipled_node = fluid_mat.node_tree.nodes.get("Principled BSDF")
fluid_mat.node_tree.nodes.remove(principled_node)glass_node = fluid_mat.node_tree.nodes.new("ShaderNodeBsdfGlass")
glass_node.location = (0, 0)glass_node.inputs[0].default_value = (0.730, 0.927, 1.0, 1.0)
glass_node.inputs[1].default_value = 0.0
glass_node.inputs[2].default_value = 1.333output_node = fluid_mat.node_tree.nodes.get("Material Output")
output_node.location = (200, 0)fluid_mat.node_tree.links.new(glass_node.outputs[0], output_node.inputs[0])for obj in bpy.data.collections['FluidMesh'].all_objects:obj.active_material = fluid_mat

重定位 Mesh

具体怎么修改位置和旋转的,是根据你代码里面具体是怎么设置流体域的

import bpyfor obj in bpy.data.collections['FluidMesh'].all_objects:obj.rotation_euler[0] = 1.5708  # 90dobj.location = (-4, 4, 0)

清理旧的动画

import bpyfor obj in bpy.data.collections['FluidMesh'].all_objects:obj.animation_data_clear()

制作动画帧

Hide_Render 动画

import bpyfor obj in bpy.data.collections['FluidMesh'].all_objects:mesh_name = obj.namei = int(mesh_name)obj.hide_viewport = Trueobj.hide_render = Trueobj.keyframe_insert("hide_viewport", frame=0)obj.keyframe_insert("hide_render", frame=0)obj.hide_viewport = Falseobj.hide_render = Falseobj.keyframe_insert("hide_viewport", frame=i+1)obj.keyframe_insert("hide_render", frame=i+1)obj.hide_viewport = Trueobj.hide_render = Trueobj.keyframe_insert("hide_viewport", frame=i+2)obj.keyframe_insert("hide_render", frame=i+2)

输出渲染动画

地面、天光等创建暂时不写脚本里,手动创建

选择光追渲染,才有好看的效果。选 eevee 的话,光线都没有从玻璃里面折射出来,所以玻璃都是一片黑的

fps 的设置也是根据流体计算时设置的 dt 来的

import bpy
import mathcamera = bpy.data.objects['Camera']
camera.location = (20, -20, 20)
camera.rotation_euler = (math.radians(60), 0, math.radians(45))bpy.context.scene.render.engine = 'CYCLES'
bpy.context.scene.cycles.device = 'GPU'
bpy.context.scene.cycles.samples = 256bpy.context.scene.render.resolution_x = 1080
bpy.context.scene.render.resolution_y = 720
bpy.context.scene.render.fps = 30bpy.context.scene.render.filepath = bpy.path.abspath("//fluid_anim.mkv")
bpy.context.scene.render.image_settings.file_format = 'FFMPEG'bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = len(bpy.data.collections['FluidMesh'].all_objects)+1bpy.ops.render.render(animation=True)

效果

请添加图片描述

http://www.mnyf.cn/news/45137.html

相关文章:

  • 网站建设现在什么服务器比较好今天株洲最新消息
  • 中国建设监理协会网站个人会员系统栏阿里指数官方网站
  • 网站建设推广关键词国家高新技术企业认定
  • 用discuz做交友网站宁波江北区网站推广联系方式
  • 做网站没有数据库购物网站大全
  • 珠宝钻石网站建站百度搜索排名优化
  • 怎么在网站后台挂马企业营销策划是做什么的
  • seo优化性网站建设seo查询站长工具
  • 网站建设 10万元网站制作报价表
  • 济南快速建站模板百度seo排名点击器
  • 网站设计存在的不足谷歌官网注册入口
  • 网站改版建设征求意见书集客营销软件
  • 网站建设备案需要材料吉林seo管理平台
  • 微信商城怎么弄seo整站优化方案
  • 哪家做网站好 成都网络平台运营是做什么的
  • 企业建设网站的目的是什么国外外链平台
  • 软文推广经典案例专业seo整站优化
  • 深圳网站建设制作厂家seo外包公司多吗
  • 新网域名备案seo资源网站 排名
  • 如何做外贸营销型网站推广珠海企业网站建设
  • 北湖区网站建设公司哪家好百度竞价账户
  • 徐州h5建站网络广告推广方案
  • 苏州新区做网站网络促销
  • 网站开发资质要求营销型网站定制
  • 手机端网站设计惠州seo优化服务
  • 文化类网站是不是休闲娱乐类网站软文发布门户网站
  • 装修品牌seo线下培训课程
  • 大连辰熙大厦做网站新手怎么推广自己的店铺
  • 个人网站建设策划书抖音seo怎么做
  • 2014做网站下载一个百度时事新闻