babylon.js如何访问其功能之外的网格

问题描述 投票:0回答:1

我只是无法访问巴比伦网。每当我尝试运行代码时,我都会得到这个error

我用两种不同的方法尝试过:

示例1:

var carTest;
BABYLON.SceneLoader.ImportMesh("", "assets/", "car.obj", scene, function(object) {
        carTest = object[0];
    });
carTest.position.x = 10;

示例2:

var carTest = BABYLON.SceneLoader.ImportMesh("", "assets/", "car.obj", scene);
carTest.position.x = 10;
javascript 3d babylonjs
1个回答
0
投票

在您的示例中,BABYLON.SceneLoader.ImportMesh返回Nullable<ISceneLoaderPlugin | ISceneLoaderPluginAsync>,并且它们两个都没有属性名称作为位置。因此,carTest.position将是不确定的。

carTest.position.x = 10 => undefined.x = 10; 

将引发错误。

在您的第一个示例中,BABYLON.SceneLoader.ImportMesh是一个同步函数,尽管BABYLON.SceneLoader中还有另一个函数名称ImportMeshAsync ...

我以前没有使用过BABYLON。但基本上,根据BABYLON API,ImportMesh和ImportMeshAsync之间的区别是返回的类型。

so,

[Improvement]

在onSuccess回调中移动carTest.position.x = 10;

BABYLON
  .SceneLoader
  .ImportMesh("", "assets/", "car.obj", scene, function(object) {
        carTest = object[0];
        carTest.position.x = 10;
    });
© www.soinside.com 2019 - 2024. All rights reserved.