loadModel()函数用于从文件加载3D模型,并将其作为p5.Geometry对象返回。该模型可以加载以下格式.obj
或者.stl
。
加载OBJ和STL的文件没有任何可缩放性,因此可能需要使用规格化参数,以便将模型自动缩放为正确的大小。加载模型后,即可使用scale()函数来进一步更改模型的大小。
该方法本质上是异步的,因此在使用模型之前可能无法完成。因此建议在preload()函数中加载模型。
用法:
loadModel( path, normalize, [successCallback], [failureCallback] )
或者
loadModel(path, [successCallback], [failureCallback])
参数:该函数接受上述和以下所述的四个参数:
- path:它是一个字符串,表示必须从中加载模型的路径。
- normalize:它是一个布尔值,它确定加载时是否将加载的模型缩放到标准尺寸。它是一个可选参数。
- successCallback:如果成功加载模型,则会调用此函数。加载的模型作为参数传递。它是一个可选参数。
- failureCallback:如果模型由于任何错误而无法加载,则会调用此函数。错误事件作为参数传递。它是一个可选参数。
返回值:它返回具有给定模型的p5.Geometry对象。
以下程序说明了p5.js中的loadModel()函数:
范例1:本示例说明如何在preload()函数中加载模型。
let newObj;
function preload() {
newObj = loadModel('models/ball.obj', true);
}
function setup() {
createCanvas(400, 300, WEBGL);
}
function draw() {
background('green');
rotateZ(frameCount * 0.01);
rotateX(frameCount * 0.01);
model(newObj);
}
输出:
范例2:本示例说明如何使用回调来加载和使用模型。
let newModel;
function setup() {
createCanvas(400, 300, WEBGL);
noLoop();
loadModel('models/ball.obj', true, modelLoaded, loadFailed);
}
function draw() {
background('green');
rotateZ(frameCount * 0.01);
rotateX(frameCount * 0.01);
model(newModel);
loop();
}
function modelLoaded(modelObj) {
newModel = modelObj;
loop();
}
function loadFailed(error) {
print("The model failed to load", error);
}
输出:
参考: https://p5js.org/reference/#/p5/loadModel
相关用法
- p5.js min()用法及代码示例
- p5.js log()用法及代码示例
- d3.js d3.min()用法及代码示例
- p5.js arc()用法及代码示例
- p5.js tan()用法及代码示例
- p5.js nf()用法及代码示例
- p5.js second()用法及代码示例
- p5.js sin()用法及代码示例
- p5.js value()用法及代码示例
- p5.js hue()用法及代码示例
- PHP ord()用法及代码示例
注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 p5.js | loadModel() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。