react-native - 如何在 React Native 中提供 .obj 和 .mtl 文件的目录路径?
问题描述
我正在使用 react-viro 在我的应用程序中包含 AR 支持。Viro 集成非常完美,我可以在 AR 模式下看到文本。但是当我尝试使用 Viro3DObject 包含任何 3D 对象时,我收到一条错误消息,提示“无法从(我的文件的本地路径)找到模块”。当我从服务器加载相同的资产时,我可以使用它的 URI 加载它。
根据 React-Viro 文档,默认情况下 React-native 不支持扩展名为 .obj 和 .mtl 的 3D 文件。所以,我按照这种方法来包括支持。但是,同样的错误仍然存在。
https://docs.viromedia.com/docs/importing-assets#adding-asset-types
<Viro3DObject
source={require('./emoji_vow/emoji_vow.vrx')}
position={[0, .2, 0]}
scale={[.2, .2, .2]}
type="VRX"
lightReceivingBitMask={3}
shadowCastingBitMask={2}
transformBehaviors={['billboardY']}
resources={[require('./emoji_wow/emoji_wow_diffuse.png'),
require('./emoji_wow/emoji_wow_specular.png'),
require('./emoji_wow/emoji_wow_normal.png')]}/>
解决方案
添加 Metro.config.js
'use strict';
const { getDefaultConfig } = require("metro-config");
module.exports = (async () => {
const {
resolver: { assetExts }
} = await getDefaultConfig();
return {
resolver: {
assetExts: [...assetExts, "obj", "mtl", "JPG", "vrx", "hdr", "gltf", "glb", "GLB", "bin", "arobject", "gif"]
}
};
})();
应该没问题
推荐阅读
- xamarin.forms - Xamarin Forms 将产品与用户帐户连接起来
- android - 小部件仅在 2 次安装或重新启动后才有效
- javascript - NodeJS变量未定义
- python - 无法使用发布请求获取某些项目
- java - 自定义 AllWindowFunction 类成员
- css - 如何在 CSS 中修复响应式背景图像顶部和底部?
- css - css - 在大屏幕上,两列,在小屏幕上,一列具有动态高度
- powerbi - 跨 2 个表 Power BI 的加权平均成本
- python-3.x - 带有两个蛞蝓的 Django 视图
- ruby-on-rails-3 - 如何使用 neo4j ruby 在单个属性上创建索引