babylonjs - 如何在编辑器中引用文件?
问题描述
我使用纹理查看器将纹理添加到编辑器中,它们显示在“文件”选项卡下"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
解决方案
您可以通过两种方式导入图像:
您只需在函数中提供一个本地路径,该路径必须从您的应用程序的根目录开始,例如:
-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
用作您的功能的参数。
推荐阅读
- oracle - oracle livesql中的无效标识符问题
- leaflet - 从传单输出地图中删除粗蓝色边界线/防止地图在弹出窗口出现时部分消失
- c# - 遍历 DataTable 中的行:获取单元格值时,“无法使用 [] 将索引应用于“对象”类型的表达式
- javascript - Quizmaker:可拖动两次
- nginx - 如何设置 nginx 将请求代理到我的 Web 应用程序?
- sql - 如果提供了全名,如何在名字末尾显示带有特定字母的名字?
- html - 我将如何悬停兄弟元素?
- python - 有没有办法在不使用 client = discord.Client() 而不是 Python 上的机器人的情况下踢成员
- java - JaxRs Client 2.0 文件上传
- python - “yolov5x.pt 与模型/yolov5x.yaml 不兼容。指定 --weights '' 或指定与 yolov5x.pt 兼容的 --cfg。”