请求纹理、材质和场景对象需要一些时间。从v85版本开始,对于这些事情,您需要使用如下方法
findFirst
在
Promise.All
块只需将对纹理和材质的请求转移到您请求的同一块
plane4
const Materials = require('Materials');
const Textures = require('Textures');
const Scene = require('Scene');
Promise.all([
Scene.root.findFirst('plane4'),
Scene.root.findFirst('ipad-perfect'),
Scene.root.findFirst('iphone-perfect'),
Scene.root.findFirst('computer-perfect'),
Materials.findFirst('bg'),
Materials.findFirst('mutablescreen'),
Textures.findFirst('unnamed-min')
]).then(function (results) {
const plane4 = results[0];
const ipadPerfect = results[1];
const iphonePerfect = results[2];
const computerPerfect = results[3];
const bgMat = results[4];
const mutableScreen = results[5];
const texture = results [6];
// Get the timer ready
start();
function start() {
bgMat.diffuse = texture;
bgMat.emission = texture;
mutableScreen.diffuse = texture;
mutableScreen.emission = texture;