首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Blender上使用python脚本生成网格

如何在Blender上使用python脚本生成网格
EN

Ask Ubuntu用户
提问于 2013-07-28 01:43:13
回答 1查看 11.7K关注 0票数 0

我想知道如何通过使用数学方程中的python脚本,例如,球面谐波,等等,建立一个有顶点和面的网格。

如果显示了一个简单函数的示例代码,其余的将由我自己编写。

Ubuntu版本: 12.04

搅拌机版本: 2.62

添加信息(2013/08/02) :

我找到了很有用的地方,

搅拌器Python:数学网格

最后我给出了一个例子,这是正态分布的情况。

代码语言:javascript
复制
import bpy
import math

# clear mesh and object
for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

# mesh arrays
verts = []
faces = []

# mesh variables
numX = 100
numY = 100

# variance and scale variables
variance = .35
scale = 4

# fill verts array
for i in range (0, numX):
    for j in range(0,numY):
        # nomalize range
        u = 2*(i/numX-1/2)
        v = 2*(j/numY-1/2)

        s = variance
        x = scale*u
        y = scale*v
        z = scale*1/math.sqrt(2*math.pi*s*s)*math.exp(-(u*u+v*v)/(2*s*s))

        vert = (x,y,z)
        verts.append(vert)

# fill faces array
count = 0
for i in range (0, numY *(numX-1)):
    if count < numY-1:
        A = i
        B = i+1
        C = (i+numY)+1
        D = (i+numY)
        face = (A,B,C,D)
        faces.append(face)
        count = count + 1
    else:
        count = 0
 
# create mesh and object
mesh = bpy.data.meshes.new("wave")
object = bpy.data.objects.new("wave",mesh)

# set mesh location
object.location = bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

# create mesh from python data
mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

截图:

EN

回答 1

Ask Ubuntu用户

发布于 2013-07-28 05:26:22

您应该在类似的脚本中搜索。您可能知道,Blender附带了用Python编写的加载项。关于网格的创建,有一些可用的附加组件。您必须启用它们,但它们已安装在您的计算机上。在/usr/share/blender/addons中搜索以查看它们。也许你可以做一些反向工程来回答你的问题。

将您自己的脚本复制到此文件夹。在首选项中也有"install“。您必须在首选项中启用脚本。有点隐蔽。在默认窗口的左上方,您可以看到一个感叹号。单击它并从下拉菜单中选择首选项。然后你必须提高这个栏的高度,才能看到你的喜好。在截图中,您可以看到“增加首选项”栏。选择addon选项卡。在右边,你可以标记“使能副词”。要使这一变化永久化,你必须拯救他们。我已经忘记了捷径,寻找它,也许它的Ctrl+U。

嗯,当我使用Blender的时候,有一个选项可以运行脚本。现在,我只能看到一个控制台。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/325485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档