我目前正在使用p5.js进行项目。到目前为止,我可以显示3D基本形状,例如盒子,球体或圆柱体。我在Internet上搜索时发现p5.js仅接受.obj文件作为模型。因此,我尝试按照The Coding Train的教程(https://www.youtube.com/watch?v=FUI7HEEz9B0)进行操作,但结果并不相同。
我仍然尝试将教程中的代码放在我看来合理,但是控制台上出现错误。 有关信息,我在http服务器上运行项目,仅通过运行index.html文件就不再运行。 这是代码:
let bottle;
function preload() {
bottle = loadModel('glass_bottle.obj');
}
function setup() {
pixelDensity(10.0);
createCanvas(800, 600, WEBGL);
}
function draw() {
background(0);
noStroke();
model(bottle);
}
如果要使用.obj文件进行测试,则可以在此处使用免费模型:https://www.turbosquid.com/fr/3d-model/free/bottle/obj
如果您知道我们是否可以在p5.js上放置其他模型格式,请告诉我。
我收到的错误消息是:
未捕获(承诺)RangeError:在p5.js:63060处超出了最大调用堆栈大小
答案 0 :(得分:1)
首先,您的代码看起来不错。
您使用的是哪个版本的p5? importing complex models存在一个已知问题。本质上,他们这样做的方式是递归的,这解释了:
超出了最大调用堆栈大小
在随后的补丁中,他们改变了方法并采用了迭代路线。
您可以做什么: