В вашем примере 2 BABYLON.SceneLoader.ImportMe sh return Nullable<ISceneLoaderPlugin | ISceneLoaderPluginAsync>
, и оба они не имеют имени свойства в качестве позиции.
Таким образом, carTest.position будет неопределенным.
carTest.position.x = 10 => undefined.x = 10;
выдаст ошибку.
В вашем первом примере BABYLON.SceneLoader.ImportMe sh является синхронизированной функцией, хотя в BABYLON есть другое имя функции ImportMeshAsyn c. SceneLoader ...
Я раньше не использовал BABYLON.
Но в основном, согласно BABYLON API , разница между ImportMe sh и ImportMeshAsyn c - это возвращаемый тип .
итак,
[Улучшение]
переместить carTest.position.x = 10;
в обратном вызове onSuccess.
BABYLON
.SceneLoader
.ImportMesh("", "assets/", "car.obj", scene, function(object) {
carTest = object[0];
carTest.position.x = 10;
});