- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近我开始主要使用 C++ 和 OpenGL 构建 3D 游戏引擎,但我想用 Python 编写一个脚本来将一些对象从实际场景导出到文件中。一切都成功了,除了我有一些关于 Python API 如何处理对象和不同类型的对象的问题?
代码:
for Lampa in Lamp.Get(): # In this case we are working with lamps
Lampatipus=Lampa.getType()
if Lampa.getParent()==Targy\ # Objects have parents in blender, but it shows error that lamps doesn't have functions like getParent()
and Lampatipus=="Lamp":
self.file.write(Lampa.getName())
self.file.write("\00")
# Lampa beallitasai
Lampa_alap_tomb=array('f', [\
Lampa.LocX, # Shows error message that lamps doesnt have position x...
Lampa.LocY,
Lampa.LocZ,
Lampa.R,
Lampa.G,
Lampa.B,
Lampa.getEnergy()/10.0,
Lampa.color[0],
Lampa.color[1],
Lampa.color[2],
Lampa.color[3]\
])
Lampa_alap_tomb.tofile(self.file)
# Another case:
for Lampa in Jelenet.objects: # In this case we are working with objects
Lampatipus=Lampa.getType()
if Lampa.getParent()==Targy\ # no problem here
self.file.write(Lampa.getName())
self.file.write("\00")
# Lampa beallitasai
Lampa_alap_tomb=array('f', [\
Lampa.LocX,
Lampa.LocY,
Lampa.LocZ,
Lampa.R, # Shows error message that objects doesnt have R (red component of color of a light)
Lampa.G,
Lampa.B,
Lampa.getEnergy()/10.0,
Lampa.color[0],
Lampa.color[1],
Lampa.color[2],
Lampa.color[3]\
])
Lampa_alap_tomb.tofile(self.file)
代码结束!!
例如,如果我想遍历所有灯并将它们的一些属性写入文件中(名称、颜色、父对象等),Python 不会将灯的某些属性识别为所使用的变量由不同的对象。如果我遍历每个对象并首先获取对象的类型(实际上是一盏灯),也会发生同样的事情,但控制台会显示一条错误消息,显示例如点半径或其他任何内容都不是“的属性” blender 对象”。在前面的例子中,我已经解释过Python并没有意识到“Blender Lamp”实际上是一个“Blender Object”,但是“Blender Lamp”也应该保留从“Blender Object”继承的原始属性,正如我认为的那样。因为在 Blender 中,无论对象具有什么类型,它都有位置旋转、缩放等。到目前为止,正如您所知,每个灯都有位置(就像对象一样)以及光属性(光颜色等)但是如果我愿意要获取 Blender 灯的位置,它不起作用,因为它表明这种灯不是一个对象,但在 Blender 中,灯也有位置和一切像普通对象一样。我也没有在 Blender 2.49 python api 文档中找到对灯光位置的引用。
请帮忙!提前致谢...
P。 S.对不起,英语我来自匈牙利,没有职业。以及我用匈牙利语写的一些变量,但我希望你理解这个问题。谢谢
最佳答案
你还在用2.49吗?它现在已经很老了,如果你不使用 2.49,那么 2.49 API 文档将不会有帮助,因为从 2.50 开始,一切都随着 python 改变了。如果您使用的是更新版本,那么您应该找到当前的 blender API documentation更有帮助。
使用最新版本的 blender ,以下内容应该会有所帮助 -
import bpy
for obj in bpy.context.scene.objects:
if obj.type == 'LAMP' and obj.parent == Targy:
print(obj.name)
print(obj.location.x)
print(obj.data.color.r)
print(obj.data.energy)
不要将 obj.color
与 obj.data.color
混淆。 obj.color
是一个对所有对象都可用的对象属性,但灯使用 obj.data.color
来表示它的光。
关于python - 我对 Blender 中的 Python 脚本有一个严重的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24841165/
只是想知道如何在 Blender 中反转平滑阴影。 当网格被平滑着色时,由于硬件开销,编辑速度要慢得多。 撤消平滑着色的设置/选项组合是什么,以便我可以回到硬/“锯齿”多边形模型以进行更快的编辑? 最
我正在尝试计算各种游戏 Assets 的顶点法线。我计算的法线用于“膨胀”模型(在真实模型后面绘制产生粗轮廓)。 我目前计算每张脸的法线并平均所有脸(堆栈溢出的其他几个问题建议这种方法)。但是,这不适
当我打开 Blender 2.64 时,它会自动显示开始/启动屏幕(我的意思是页面中间的小框,您可以在其中打开最近的 .blend 文件)。我想禁用它,但不知道如何禁用。有人知道吗? 你可能想知道:你
我们正在使用 Blender 打开一个 .blend 模型,通过 python 控制台应用一些 python 代码并创建一个 .dae 文件。 现在我们需要在 linux 服务器上实现这个功能,以便根
在 blender 中绘制纹理时,我想将现有图像添加到纹理图像中。但是blender好像没有提供这样的功能。 我尝试在 photoshop 中进行外部编辑,但 uv 展开的顶点丢失了,因此没有可用的引
我正在使用 Blender 渲染模型。该模型由其位置发生变化的相机捕获。然后我将图像写入文件。如何找到图像中的边界框,以便该框可用于对训练对象检测模型有用的注释? 最佳答案 blender 中的每个对
我是 Blender 动画的新手,我有一个简单的 3d 模型,它具有要制作动画的骨骼并按预期进行动画处理,现在我想做的是重置 blender 时间轴中的帧,例如,我的动画循环介于250 到 300 帧
我创建了一个网格,我在 GLSL 中应用了具有附加效果的不同 Material :有没有办法导出这些程序? 我正在使用 blender 2.61 最佳答案 有一个用于 blender 的通用 GLSL
我在 Blender 中制作了一个立方体。使用 Python,我确实进入了编辑模式并选择了一个顶点: import bpy bpy.ops.mesh.primitive_cube_add() bpy.
我尝试在谷歌中找到一个Python脚本,它将在游戏开始时(或每次玩家前进到一个新场景时)生成一个随机地形,但我找到的所有工具都是用于创建地形来渲染它,而不是对于游戏模式。 知道如何/在哪里找到一个吗?
我对 blender 很陌生,我正在用它做一些实验。 我一直在寻找一种方法,可以让对象在特定关键帧处从视线中消失,而无需将其移出相机 View 。例如。在第 1 帧,立方体在那里,在 (0, 0, 0
我在这里几乎捕获了救命稻草,因为我不知道我在问什么,但这就是问题。 出于纯粹的兴趣,我一直在研究 3D 建模,并偶然发现了骨骼的概念。现在,即使在维基上查找后,我也不太确定骨头是什么,但它们似乎是现实
我有一个 blender 插件,我想将其与 blender 分离并独立运行。唯一的依赖项是 mathutils 模块。有没有办法在独立项目中使用 Blender3d 的 mathutils 模块。 最
我最近开始使用 Blender 来创建我自己的游戏模型等。我已经创建了一个模型,对其进行了装配,分别制作了衣服,现在我想将这些衣服添加到我的模型中,以便它可以随着装配一起移动而不会穿透皮肤。 所以有很
我发现自由风格的 SVG 导出器可以从 blender 导出 SVG 图像,但这会给我 3D SVG 图像。 我想导出带有相机顶 View 的 2D View 图像,有人知道我们如何在 blender
我正在尝试编写一个非常基本的导出到 blender (从原始形状)脚本。我必须以不同的角度和位置绘制圆柱体。我有偏移位置和尺寸的信息。 import bpy import bgl from mathu
我想可视化一些科学数据,目前只是一些具有不同颜色和大小的球体的动画。 我已经在 Mathematica 中创建了一个脚本,它为 POV-Ray 创建了输入。 我的问题是,我对 POV-Ray 的结果质
我正试图找到一个在子进程中添加病毒的方法。Popen 使用打开它的脚本打开 blender ,将 bpy 代码写入 blender 进程。如果这不可能,是否有办法让 blender python 接收
我正在完成本教程: https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html 我从教程中复制了下
如何在 blender 中制作一个简单的输入对话框(如图所示)并处理通过 python 输入的文本。我找不到任何关于此的好的教程。 最佳答案 对于对话框,来自 how to show a messag
我是一名优秀的程序员,十分优秀!