La función loadModel() se utiliza para cargar un modelo 3D desde un archivo y devolverlo como un objeto p5.Geometry. Este modelo se puede cargar con los formatos .obj o .stl. Los archivos OBJ y STL cargados no tienen ningún sentido de escala, por lo tanto, es posible que deba usar el parámetro normalizado para que el modelo se escale automáticamente al tamaño correcto. La función scale() se puede usar una vez que se carga el modelo para realizar más cambios en el tamaño del modelo. Este método es de naturaleza asíncrona y, por lo tanto, es posible que no finalice antes de que se pueda usar el modelo. Por lo tanto, se recomienda cargar el modelo en la función preload().
Sintaxis:
loadModel( path, normalize, [successCallback], [failureCallback] )
o
loadModel(path, [successCallback], [failureCallback])
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- ruta: Es una string que denota la ruta desde donde se debe cargar el modelo.
- normalizar: es un valor booleano que determina si el modelo cargado se escalaría a un tamaño estandarizado al cargar. Es un parámetro opcional.
- SuccessCallback: esta es una función que se llama si el modelo se carga correctamente. El modelo cargado se pasa como parámetro. Es un parámetro opcional.
- failCallback: esta es una función que se llama si el modelo no se carga debido a algún error. El evento de error se pasa como un parámetro. Es un parámetro opcional.
Valor devuelto: Devuelve un objeto p5.Geometry con el modelo dado.
Los siguientes programas ilustran la función loadModel() en p5.js:
Ejemplo 1: Este ejemplo muestra cómo se carga el modelo en la función preload().
javascript
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); }
Producción:
Ejemplo 2: este ejemplo muestra cómo se pueden usar las devoluciones de llamada para cargar y usar el modelo.
javascript
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); }
Producción:
Referencia: https://p5js.org/reference/#/p5/loadModel
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA