将Blender变成一个小型的http的web服务器

本文介绍如何在Blender中利用Python实现与外部系统的连接,包括设置HTTP服务器以供文件浏览等操作,展示了Blender结合Python的强大扩展能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        Blender2.73a支持Python3.4.2,不仅可以定制界面、控制流程。还可以通过python的socket功能实现与其它软件的协同应用,实在是强大。比如可以实现:渲染服务器、集群渲染、外部数据导入、外部算法解算器等等,从而把Blender变为一个超级图形工作网络。

[转自:BlenderCN中文论坛]

第一步:在Blender的文本编辑器里面输入:

import http.server
import socketserver

PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()

第二步:点击文本编辑器旁的执行。
第三步:打浏览器,输入http://127.0.0.1:8000   现在你的blender文件夹就在浏览器里面可以浏览了。



转载于:https://my.oschina.net/u/2306127/blog/372545

说明文件 程序名:Web Page Blender(网页搅拌机) 功能:将网页进行搅拌 创意开始:2002/4/25 制作日期:2002/4/25 创作意图:本人刚刚开始学习ASP,但在ASP和HTML之间由于不能进行过多的跳转,因此将 HTML代码转换为ASP代码,如: <;;;table width=";;;750";;; border=";;;0";;; cellspacing=";;;0";;; cellpadding=";;;0";;; align=center>;;; <;;;tr bgcolor=";;;#CBCAD2";;;>;;; <;;;td height=";;;68";;;>;;; <;;;div align=";;;center";;;>;;;<;;;font size=";;;6";;;>;;;<;;;b>;;;<;;;font color=";;;#003399";;;>;;;数 据 查 询<;;;/font>;;;<;;;/b>;;;<;;;/font>;;;<;;;/div>;;; <;;;/td>;;; <;;;/tr>;;; <;;;/table>;;; 以上代码先进行替换,";;;替换为";;; & chr(49) & ";;; 再添加前缀s=s & ";;;和后缀";;; 转换后代码如下: s=s & ";;;<;;;table width=";;; & chr(49) & ";;;750";;; & chr(49) & ";;; border=";;; & chr(49) & ";;;0";;; & chr(49) & ";;; cellspacing=";;; & chr(49) & ";;;0";;; & chr(49) & ";;; cellpadding=";;; & chr(49) & ";;;0";;; & chr(49) & ";;; align=center>;;;";;; s=s & ";;; <;;;tr bgcolor=";;; & chr(49) & ";;;#CBCAD2";;; & chr(49) & ";;;>;;;";;; s=s & ";;; <;;;td height=";;; & chr(49) & ";;;68";;; & chr(49) & ";;;>;;;";;; s=s & ";;; <;;;div align=";;; & chr(49) & ";;;center";;; & chr(49) & ";;;>;;;<;;;font size=";;; & chr(49) & ";;;6";;; & chr(49) & ";;;>;;;<;;;b>;;;<;;;font color=";;; & chr(49) & ";;;#003399";;; & chr(49) & ";;;>;;;数 据 查 询<;;;/font>;;;<;;;/b>;;;<;;;/font>;;;<;;;/div>;;;";;; s=s & ";;; <;;;/td>;;;";;; s=s & ";;; <;;;/tr>;;;";;; s=s & ";;;<;;;/table>;;;";;; 其他说明:当然,以上仅举一例说明; 充分发挥你的想像力,把网页“搅”熟 历史记录: 2002/4/25: 1.0版,实现“格式化”的基本功能 2002/4/26: 1.1版,实现“国际版”功能(语言包在language目录下) 只要你愿意,你可以将他变成任意语言版本了 更改替换字符串列表功能:打开language目录下的语言包文件,编辑200到299之间的字串,OK! 联系作者:ameiemail@chinaren.com 凌丽软件: 《内存清洁机》1.4版 功能:清除内存中的程序 1.使内存清洁机总在最上层: 选择“上层(&T)”; 2.过滤系统的程序: 选择“过滤(&F)”; 3.强制关闭应用程序: 在右边的列表框选择应用程序,点击“关闭程序(&C)”; 4.显示/隐藏应用程序: 如上; 5.将应用程序显示在最上层/恢复: 如上; 6.显示可用内存; 7.显示“******”部分的密码: 用鼠标移到“******”上,在右下脚显示。 8.隐藏桌面: 用隐藏方式把“Program Manager”隐藏; 9.隐藏任务条: 用隐藏方式把“任务条”隐藏(在Win2000下会自动恢复); 10.自动追踪: 用鼠标指向一个窗体,列表自动追踪的该窗体; 历史记录 本程序使用 Object Pascal 编写 使用Delphi Build 5.62编译。 1.0 2001年2月 完成基本功能,根据本人写的VB版本移植而来(在功能上有削减)。 1.01 2002年1月 进一步完善,增加了显示“可用内存”、“上层显示”和查看“密码框内容”。 1.1 2002年4月8日 改善了上层显示的效率,直接使用API; 修改自动刷新的BUG; 1.2 2002年4月13日 增加“托盘”功能; 自动保存配置; 1.3 2002年4月13日 增加在启动菜单加入快捷方式; 增加自动追踪功能。 1.4 2002年4月16 增加自动缩到系统栏功能。 文件分析类(Class): 分析文本所有的邮件地址或URL,搜索智能超过市场的邮件群发软件。 WinRoute 日志分析器(软件): 网管好帮手,1.1版 在一个大的公司,为了管理方便和安全性,往往会使用代理上网,WinRoute 是一个 集成路由和防火墙的代理服务器,使用范围非常广泛,但是为了统计一下所列的各种 数据确不是很方便,为此编制本程序,让大家很好的掌握通过代理服务器上网的情况 ,为公司的管理带来便捷。 1.每日通过代理上网的计算机 2.每个计算机访问了多少网站 3.流量分析 4.网站的欢迎度 5.列出未经允许的计算机 6.使用用户词典,个性化配置
### 如何在 Blender 中创建宝塔 3D 模型 在 Blender 中创建宝塔模型需要结合多种建模工具和技术,包括多边形建模、镜像修改器和阵列修改器等。以下是关于如何使用 Blender 创建宝塔模型的详细说明。 #### 1. 准备工作 启动 Blender 并删除默认的立方体对象(按 `X` 键),以便从一个干净的场景开始。确保启用“添加网格”插件以访问更多基础几何体[^4]。 #### 2. 创建宝塔的基础结构 - 添加一个圆柱体作为宝塔的底层(`Shift + A` > Mesh > Cylinder),调整顶点数以使边缘更加平滑。 - 使用缩放工具(`S` 键)调整圆柱体的大小,并通过移动工具(`G` 键)将其放置在场景中心。 - 在编辑模式下(`Tab` 键),选择顶部的面并进行内缩(`Alt + M` > At Center),为后续的塔尖部分做准备。 #### 3. 构建宝塔的层次 - 使用“阵列修改器”(Array Modifier)复制底层圆柱体,设置适当的偏移值以生成多个层级。 - 调整每个层级的比例,使其逐层缩小,模拟传统宝塔的设计。 - 添加“细分曲面修改器”(Subdivision Surface Modifier)以平滑整个模型表面。 #### 4. 设计塔尖 - 在顶层添加一个锥体(`Shift + A` > Mesh > Cone),作为宝塔的塔尖部分。 - 调整锥体的高度和底面直径,使其与整体比例协调。 - 可以进一步雕刻塔尖细节,例如添加装饰性元素或纹理。 #### 5. 添加材质与纹理贴图 - 宝塔模型通常需要材质和纹理来增强视觉效果。在材质编辑器中,创建一个新的材质节点,并应用适合的颜色和反射属性[^1]。 - 使用图像纹理节点加载预定义的纹理贴图,例如砖墙或木质纹理,以增加真实感[^3]。 #### 6. 灯光与渲染设置 - 设置合适的灯光环境,例如使用 HDRI 环境贴图提供自然光照效果。 - 调整摄像机视角,并启用 Cycles 渲染引擎以获得高质量的渲染结果[^3]。 ```python # 示例代码:Blender Python 脚本用于快速生成基本圆柱体 import bpy # 删除所有现有对象 bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete(use_global=False) # 添加圆柱体 bpy.ops.mesh.primitive_cylinder_add(vertices=32, radius=1, depth=2, location=(0, 0, 0)) cylinder = bpy.context.object # 添加阵列修改器 array_mod = cylinder.modifiers.new(type='ARRAY', name="Array") array_mod.count = 5 array_mod.relative_offset_displace[2] = 1.2 # 缩小每一层 for i in range(1, 5): obj = cylinder.copy() obj.scale = (1 - i * 0.1, 1 - i * 0.1, 1) obj.location = (0, 0, i * 2.5) bpy.context.collection.objects.link(obj) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值