首页 > 解决方案 > 如何在编辑器中引用文件?

问题描述

我使用纹理查看器将纹理添加到编辑器中,它们显示在“文件”选项卡下"MySkyboxTexture_px.png", "MySkyboxTexture_py.png",但如何在脚本中引用它们?即他们的路径是什么?我尝试了多种组合,例如./textures/MySkyboxTexture./MySkyboxTexture- 没有任何效果。

skyboxMaterial.reflectionTexture = new BABYLON.CubeTexture(
    "MySkyboxTexture",  // <--- what do i put here?
    scene, ["_px.png", "_py.png", "_pz.png", "_nx.png", "_ny.png", "_nz.png"]
);

调试器显示file not found at ...BabylonJS Editor/resources/app.asar/MySkyboxTexture_px.png

标签: babylonjs

解决方案


您可以通过两种方式导入图像:

  • 您只需在函数中提供一个本地路径,该路径必须从您的应用程序的根目录开始,例如:

     -src/
     -index.js
     -assets/
         -file.png
     -style/
         -style.css
    

然后如果你想导入 file.png,你只需要给出 url :/assets/file.png

  • 提供 url 的另一种方法是首先将文件作为 blob 导入,然后通过执行以下操作创建 blob url(它可以是来自服务器的远程 blob 或本地 blob):
const url = URL.createObjectURL(myImportedBlob);

然后url用作您的功能的参数。


推荐阅读