问题标签 [blender-2.61]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 用于创建工具架面板的 Blender 脚本没有给出任何结果
我找到了本教程,并一直在尝试在工具架中创建自己的面板,但我的面板不起作用,没有明显的原因。
我正在使用 Blender 2.63,并且我还在 Blender 2.58 和 2.56 中尝试了完全相同的脚本,两者都具有完全相同的结果。没有什么。
我通过脚本的次数超过了我的数,我没有看到任何拼写错误或不正确的单词,但它仍然没有任何作用。更糟糕的是我没有收到任何错误消息。
当我在文本编辑器中单击“运行脚本”按钮时,我得到的唯一消息是我已经运行了脚本。在工具架中,它以与添加多维数据集相同的方式显示在底部,只是使用多维数据集,您可以获得一些选项,例如多维数据集的位置/比例等。它还在信息窗口中显示为:
这就是我的代码的样子:
任何帮助都将不胜感激,因为如果出现问题,Blender 根本不知道。
blender - 重置动画时间线 - blender 2.6
我是 Blender 动画的新手,我有一个简单的 3d 模型,它有骨骼动画,它的动画效果符合预期,现在我想做的是重置搅拌机时间轴中的帧,例如,我的动画循环在 250 到 300 之间帧并希望从零开始移动相同的帧并重置/删除其余帧。- 谢谢
animation - 将非分层变换应用于分层骨架?
我使用 Blender3D,但答案可能不是 API 专有的。
我有一些矩阵需要分配给 PoseBones。当没有骨骼层次(父子关系)时,生成的姿势看起来很好,而当有骨骼层次时,姿势看起来很乱。
我在这里上传了一个包含装配模型、文本动画导入器和测试动画文件的示例混合的存档:
http
:
//www.2shared.com/file/5qUjmnIs/sample_files.html 通过选择一个骨架并运行来导入动画“sba”文件的进口商。对两个骨架执行此操作。
这就是我在真实(复杂)导入器中分配姿势的方式:
如果我进入编辑模式,选择所有骨骼并按 Alt+P 撤消育儿,姿势看起来又很好了。
API 文档说 PoseBone.matrix 位于“对象空间”中,但从这些测试中我似乎很清楚它们与父骨骼相关。
应用约束和驱动程序后的最终 4x4 矩阵(对象 空间)
我试着做这样的事情:
但看起来更糟。尝试了操作顺序,没有运气。
作为记录,在旧的 2.4 API 中,这就像一个魅力:
链接到 Blender API 参考:
animation - 搅拌机中的汽车装备并导入 Unity
我是统一的新手,我的问题是:我正在尝试将装配好的汽车模型从搅拌机 2.6 导入统一 3.5。但是当我将汽车物理导入统一时,它的装备无法以与在搅拌机中创建的方式相同的方式运行。请让我知道我是否需要再次统一设置所有物理和装备?
opengl-es-2.0 - 3D 模型和纹理创建
我已经尝试解决这个问题一段时间了,似乎我没有在寻找正确的关键字,因为我还没有找到解决方案。我的问题是我想创建一个香蕉风格的纹理 https://github.com/HBehrens/obj2opengl/blob/master/banana.jpg 我在 Blender 中有一个包含各种对象、表面和纹理的 3D 模型我想为这个 3D 对象创建一个单一的纹理,以将其映射到通过将 .obj 导出到头文件而创建的 OpenGL ES 2.0 3D 对象上。
谢谢。
python - 从搅拌机中导出网格总是具有相同的名称
我正在为 Blender 编写一个导出器,但遇到了一个小问题 - 当我多次导出同一个模型时,导出的网格总是被分配一个不同的名称(添加了数字前缀)。
这是我用来访问要导出的网格的代码:
老实说,我是从 3ds 出口商那里拿到的。
我注意到它创建了一个新的(派生的)对象,然后创建了一个新的网格(转换和一切),所以我猜这些是分配新名称的潜在位置。
我浏览了文档,但除了通过to_mesh方法之外,我没有看到 Object 和 Mesh 实例之间的明确关系,这显然会创建一个新的网格实例。
但是 - 我真的需要得到原来的名字。有人可以告诉我如何访问它吗?
在此先感谢:)
python - 如何在 Blender 导出脚本中导出每个顶点的 UV 坐标
我正在从 Blender 2.64 编写一个 python 导出脚本。这个想法是我试图以对 OpenGL VBO 友好的方式导出网格数据。所以我在结构布局数组中导出顶点属性。例如,对于具有顶点、法线和一对纹理坐标的网格,vertexAttribute
VBO 中的每个都是 8 个连续的浮点数:
到现在为止还挺好。问题是,当 Blender 进行 UV 映射时,它实际上可以将不同的 uv 分配给同一个顶点。
也就是说,假设您有一个立方体:您有 8 个顶点,并且您有 6 个面(在这种情况下为四边形)。我本来期望索引为 0,1,2,3 的面/多边形暗示:
因此,任何提及索引 0 的内容,例如,在任何面上,都将始终暗示顶点 0、法线 0、uvCoord0 元组。好吧,结果在 Blender 中,如果我理解正确的话,一张脸可以用 uvCoord 0 引用顶点 0,而另一张脸可能用不同的 uVCoord 引用相同的顶点 0。因此,人脸的 loop_indices 实际上必须用于在一般对象data.vertices
和data.uv_layers[].data
容器中查找向量和 uvCoord。
这允许为每个面应用 uv 贴图。所以你可以有一个立方体,每个面都应用了不同的 uv 纹理,即使两个相邻的面共享一个顶点,顶点也有不同的 uv 坐标,具体取决于面。
尽管如此,我的网格不应该对同一个顶点有不同的 uv,因为我正在展开相邻的面。这意味着在我的 UV 贴图中,展开的网格是一组相邻的面(例如,如果它是由 6 个面组成的立方体,则考虑一个十字形)并且在两个相邻面之间,它们的公共顶点应该映射到同一个点在 uv 贴图中。
因此,鉴于上述情况,我认为这种方法应该可行:
如您所见,上面代码中的含义是我将多次访问顶点,因为我正在迭代共享顶点的网格面(在本例中为三角形)。每次我访问一个顶点时,如果它还没有分配它的 UV 坐标,那么我通过使用三角形的 loop_indices 查找它们来分配它们。毕竟,我的假设是,在一天结束时,每个顶点都有唯一的 uv 坐标。
例如,上面的代码给出了以下布局(我正在显示网格的前 6 个顶点属性):
但是当我使用这个信息加上一个网格的面时,我的布局是这样的:
为了在我的程序(某种引擎)中渲染我的模型,uv 映射显然搞砸了。也就是说,模型在顶点和法线方面渲染得很好,但 uv 纹理显然没有正确映射。
有什么想法吗?我的意思是,要么我导出正确并弄乱了我的应用程序中的 OpenGL 渲染代码,要么我导出了顶点和 uv 坐标之间的错误映射。(或两者兼而有之,当然......但我现在假设我正在搞乱导出脚本)。
最后一件事,如果我更改上面的 python 代码以附加分配给顶点的每个新 uv,而不是仅在尚未分配 uv 时才附加,对于顶点 1,我得到:
请注意,此示例中只有一个 uv 层。很明显,Blender 确实为顶点 1 分配了 2 个 uv 坐标。
json - Blender 2.6 JSON导出器,纹理坐标麻烦
我正在尝试为 Blender 2.6x 编写一个简单的 JSON 导出器,因为我能找到的唯一一个 ( http://code.google.com/p/blender-machete/ ) 不适用于 2.6。我从搅拌机中获取顶点、法线和索引没有任何问题,但尽我所能,我似乎无法弄清楚为什么纹理坐标出现错误。纹理似乎在一个简单的立方体的表面上对角倾斜,并且拉伸......真的很丑而且错误。我一直在网上寻找一些官方出口商的来源,但我仍然无法弄清楚,所以我希望有人能给我一些提示或解决方案。
我用来访问纹理坐标的代码是这样的:
这给了我一个纹理坐标列表,但不知何故我做错了,因为我上面解释的纹理外观不正确。
除了显示代码,我不知道还能做什么,因为我已经尝试以我能想到的各种方式对其进行更改,所以这是上面代码片段所在的函数:
有人会告诉我我做错了什么吗?我已经在这几天了,没有任何进展。
unity3d - 在 Blender 中导入 .fbx 字符
我是搅拌机的新手。我已经学习了搅拌机的一些基本功能。如何制作简单的形状以及如何制作动画。现在我有一个 .fbx 格式的角色,但它没有动画。我想在 Blender 中为它制作动画,以便我可以在 Unity 中使用它......但我不知道如何在 Blender 中导入 .fbx 文件。有什么想法或建议吗?
textures - 纹理是“倒置的”
我昨天才开始使用 Blender,所以请放轻松。我在 OS X 上使用 Blender 2.64a。
我创建了这个场景:一个平面和一张扑克牌(一个扁平的立方体)。
立方体的顶面和底面都有自己的材质和纹理(卡片面图像)。在示例渲染中,我只是复制了一张卡片,然后旋转它,以便我可以看到它的“背面”。
背面纹理是倒置的,而正面是正确的。我显然做错了什么。
我没有更改任何其他设置。
提前谢谢你,CS