我是react native开发的新手,我面临着一个相当大的问题.

我正在编写一个应用程序,与BLE连接和接收数据.有了这些,我必须制作一个3D element的动画.

我已经正确地完成了BLE连接的所有部分,但现在我在3D部分遇到了麻烦.

我使用REACTION Native without expo,因为我读到EXPO与BLE PLX包不兼容.现在我看到所有的包都带有expo-cli和Three.js.我下载了一个免费的3D模型.obj,但当我试图请求它时,应用程序找不到该文件.

这是我的\src\Model\Three.js

import { GLView } from "expo-gl";
import { View } from "react-native";
import { loadObjAsync, Renderer } from "expo-three";
import { Scene } from "three";

export const Three = (props) => {
  async function onContextCreate(gl) {
    const renderer = new Renderer({gl});
    renderer.setSize(200, 200);

    const scene = new Scene();

    const obj = await loadObjAsync({
      asset: require('./model.obj')
    });

    scene.add(obj);

    // Setup an animation loop
    const render = () => {
      renderer.render(scene, camera);
      gl.endFrameEXP();
    };

    render();
  }

  return (
    <View>
      <GLView onContextCreate={onContextCreate} />
    </View>
  );
};

在同一个文件夹中,我有mod.obj(\src\Model\Model.obj)

以下是我在Package.json中添加的依赖项

"base64-arraybuffer": "^1.0.1",
"expo-gl": "^10.4.2",
"expo-gl-cpp": "^10.4.1",
"expo-three": "^5.7.0",
"react-native-unimodules": "^0.14.6",
"three": "^0.127.0"

这就是我所得到的

 Error: Unable to resolve module ./model.obj from D:\projects\AppName\src\model\three.js:

None of these files exist:
  * src\model\model.obj(.native|.android.jsx|.native.jsx|.jsx|.android.js|.native.js|.js|.android.ts|.native.ts|.ts|.android.json|.native.json|.json)
  * src\model\model.obj\index(.native|.android.jsx|.native.jsx|.jsx|.android.js|.native.js|.js|.android.ts|.native.ts|.ts|.android.json|.native.json|.json)

我跟踪了this comment个人,但没有成功

请救救我!

推荐答案

我终于想出了解决这个问题的办法.

我已经开始使用与Reaction Native(https://docs.pmnd.rs/react-three-fiber/tutorials/v8-migration-guide)兼容的Reaction-Three-Fibre-Fibre.

我正在用gltfjsx转换JSX中的3D模型,然后通过Java脚本对其进行建模.

谢谢

Android相关问答推荐

如何go 除回调流中不可用的状态?

在Jetpack Compose中,material 3 Textfield上的底部边框 colored颜色 是如何更改的?

在卡片上创建圆角底部边框

如何在Android中打印到命令行

Jetpack Compose中尺寸不断增加的动画

第一次使用onBackPressed()、NavigateUp()加载时MapView崩溃

使用 Jetpack Compose 在 Android TV 上启用系统声音

如何在jetpack compose中使可组合的屏幕zoom 到不同的手机(屏幕)尺寸?

为什么@PrimaryKey val id: Int? = null 在创建 Room 实体时有效吗?

在模块 jetified-kotlin-stdlib-1.8.10 中发现重复的类 kotlin.random.jdk8,带有启动基准

如何将一个没有 GRADLE 的古老 Android 项目导入到今天的 Android Studio 中?

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

从活动共享视图模型以使用 hilt 组合函数

如何像 XML 一样在 Compose Android Studio 中折叠/展开小部件代码区域/区域

如何修复 api 调用在浏览器中工作但在 android studio 中为 403

重命名列失败的房间自动迁移(NOT NULL 约束失败,生成错误的迁移类)

如何使用jetpack compose实现布局,其中图标在列布局上是绝对位置

Jetpack 使用 Canvas 组成半圆

如何在 flow.stateIn() 之后从流中的另一个函数发出emits ?

compose :为什么以记住启动的列表触发方式与快照不同