- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
加载 three.js exporter for Blender 生成的 JSON 文件时出现问题, 随附 three.js r.86。
设置完成没有问题。为了测试这个导出器,我打开了 Blender,并使用了包含立方体的 untitled Blender 文件:
在不做任何调整的情况下导出它,它会生成以下 JSON 文件:
{
"metadata":{
"generator":"io_three",
"normal":36,
"position":36,
"version":3,
"type":"BufferGeometry"
},
"data":{
"index":{
"array":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],
"itemSize":1,
"type":"Uint16Array"
},
"attributes":{
"normal":{
"array":[-7.10543e-15,-1,2.98023e-08,-7.10543e-15,-1,2.98023e-08,-7.10543e-15,-1,2.98023e-08,7.10543e-15,1,-2.98023e-08,7.10543e-15,1,-2.98023e-08,7.10543e-15,1,-2.98023e-08,1,-2.38419e-07,7.10543e-15,1,-2.38419e-07,7.10543e-15,1,-2.38419e-07,7.10543e-15,-5.96046e-08,-2.98023e-07,1,-5.96046e-08,-2.98023e-07,1,-5.96046e-08,-2.98023e-07,1,-1,-1.49012e-07,-2.38419e-07,-1,-1.49012e-07,-2.38419e-07,-1,-1.49012e-07,-2.38419e-07,2.38419e-07,1.78814e-07,-1,2.38419e-07,1.78814e-07,-1,2.38419e-07,1.78814e-07,-1,-1.77636e-15,-1,2.98023e-08,-1.77636e-15,-1,2.98023e-08,-1.77636e-15,-1,2.98023e-08,1.5099e-14,1,-2.98023e-08,1.5099e-14,1,-2.98023e-08,1.5099e-14,1,-2.98023e-08,1,3.27825e-07,5.66244e-07,1,3.27825e-07,5.66244e-07,1,3.27825e-07,5.66244e-07,-5.0664e-07,1.49012e-07,1,-5.0664e-07,1.49012e-07,1,-5.0664e-07,1.49012e-07,1,-1,-1.19209e-07,-2.08616e-07,-1,-1.19209e-07,-2.08616e-07,-1,-1.19209e-07,-2.08616e-07,2.38419e-07,1.78814e-07,-1,2.38419e-07,1.78814e-07,-1,2.38419e-07,1.78814e-07,-1],
"itemSize":3,
"type":"Float32Array"
},
"position":{
"array":[1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,0.999999,1,1,1,1,-1,1,1,-1,1,-1,1,1,-1,-1,0.999999,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,0.999999,1,1,1,1,-1,0.999999,1,1,1,-1,1,0.999999,1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1],
"itemSize":3,
"type":"Float32Array"
}
}
}
}
我已将 JSON 文件上传到服务器,并尝试通过基本设置将其加载到场景中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My first three.js app</title>
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body { margin: 0; }
canvas { width: 100%; height: 100% }
</style>
</head>
<body>
<script src="assets/js/three.js"></script>
<script>
/* Scene
*/
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
cube.rotation.x = 2;
cube.rotation.y = 2;
renderer.render(scene, camera);
/* Load the JSON
*/
var loader = new THREE.JSONLoader();
loader.load(
'https://www.example.com/blender-cube.json',
function ( geometry, materials ) {
var material = materials[ 0 ];
var object = new THREE.Mesh( geometry, material );
scene.add( object );
}
);
</script>
</body>
</html>
使用上面的代码,我从示例页面中提取了绿色立方体 ⇗ ,但是当到达 Load the JSON
部分时 ⇗ ,浏览器控制台显示如下错误:
TypeError: vertices is undefined
three.js:33296.5
提到的错误行在 parseModel( json, geometry )
函数中。
在我看来,Blender 的 three.js 导出器在生成 JSON 文件时丢失了一些东西。 parseModel()
函数需要生成的 JSON 文件中不存在的 vertices
属性。
一个工作片段,对 Load the JSON
部分稍作调整,将 JSON 文件放在 JavaScript 变量中:
/* Scene
*/
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial({
color: 0x00ff00
});
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
cube.rotation.x = 2;
cube.rotation.y = 2;
renderer.render(scene, camera);
/* Load the JSON
*/
var loader = new THREE.JSONLoader();
var blenderCubeObject = {
"metadata": {
"generator": "io_three",
"normal": 36,
"position": 36,
"version": 3,
"type": "BufferGeometry"
},
"data": {
"index": {
"array": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
"itemSize": 1,
"type": "Uint16Array"
},
"attributes": {
"normal": {
"array": [-7.10543e-15, -1, 2.98023e-08, -7.10543e-15, -1, 2.98023e-08, -7.10543e-15, -1, 2.98023e-08, 7.10543e-15, 1, -2.98023e-08, 7.10543e-15, 1, -2.98023e-08, 7.10543e-15, 1, -2.98023e-08, 1, -2.38419e-07, 7.10543e-15, 1, -2.38419e-07, 7.10543e-15, 1, -2.38419e-07, 7.10543e-15, -5.96046e-08, -2.98023e-07, 1, -5.96046e-08, -2.98023e-07, 1, -5.96046e-08, -2.98023e-07, 1, -1, -1.49012e-07, -2.38419e-07, -1, -1.49012e-07, -2.38419e-07, -1, -1.49012e-07, -2.38419e-07, 2.38419e-07, 1.78814e-07, -1, 2.38419e-07, 1.78814e-07, -1, 2.38419e-07, 1.78814e-07, -1, -1.77636e-15, -1, 2.98023e-08, -1.77636e-15, -1, 2.98023e-08, -1.77636e-15, -1, 2.98023e-08, 1.5099e-14, 1, -2.98023e-08, 1.5099e-14, 1, -2.98023e-08, 1.5099e-14, 1, -2.98023e-08, 1, 3.27825e-07, 5.66244e-07, 1, 3.27825e-07, 5.66244e-07, 1, 3.27825e-07, 5.66244e-07, -5.0664e-07, 1.49012e-07, 1, -5.0664e-07, 1.49012e-07, 1, -5.0664e-07, 1.49012e-07, 1, -1, -1.19209e-07, -2.08616e-07, -1, -1.19209e-07, -2.08616e-07, -1, -1.19209e-07, -2.08616e-07, 2.38419e-07, 1.78814e-07, -1, 2.38419e-07, 1.78814e-07, -1, 2.38419e-07, 1.78814e-07, -1],
"itemSize": 3,
"type": "Float32Array"
},
"position": {
"array": [1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, 0.999999, 1, 1, 1, 1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 0.999999, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 0.999999, 1, 1, 1, 1, -1, 0.999999, 1, 1, 1, -1, 1, 0.999999, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, -1],
"itemSize": 3,
"type": "Float32Array"
}
}
}
};
var model = loader.parse(blenderCubeObject);
mesh = new THREE.Mesh(model.geometry, model.materials[0]);
scene.add(mesh);
body {
margin: 0;
}
canvas {
width: 100%;
height: 100%
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/86/three.js"></script>
关于正在发生的事情或我做错了什么的任何线索?
最佳答案
尝试更改 apply modifier to geometry 的类型而不是 buffergeometry,看看是否有帮助。
关于javascript - Blender 的 TypeError : vertices is undefined - three. js 导出器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44786742/
只是想知道如何在 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
我是一名优秀的程序员,十分优秀!