我正在用typescript制作react项目。因为需要导入.obj文件,所以我导入了threejs库和react-three-fiber库,如下所示;
import React, { useState, useMemo } from 'react'
import logo from './logo.svg';
import { Canvas } from 'react-three-fiber';
import { Group } from 'three';
import './App.css';
import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader';
接下来,我不知道是什么,我只是在react中使用typescript的初学者。我使用的是react 17.0.3,函数组件操作。谁能教我.obj文件导入代码?帮帮我。
发布于 2021-03-26 13:26:37
您可以使用three-obj-loader包:
import OBJLoader from "three-obj-loader"
const objLoader = new THREE.OBJLoader()
objLoader.load('asset.obj', callback)
下面是一个示例:https://codesandbox.io/s/kw7l49nw1r?file=/src/ThreeScene.js:7034-7048
发布于 2021-07-26 02:23:22
这是我在使用CRA创建的react应用程序中使用的代码片段。
import {
MeshBasicMaterial,
Mesh,
DoubleSide,
Vector3,
TextureLoader,
AdditiveBlending,
PlaneGeometry,
Matrix4,
ObjectLoader,
} from 'three';
const createPin = ({ x, y, z }) => {
const objLoader = new ObjectLoader()
const pinObj = objLoader.parse(require('./ball-head-pin-scene.json'))
const vector = new Vector3(x, y, z)
const axis = new Vector3(0.1, 0, 1)
pinObj.quaternion.setFromUnitVectors(axis, vector.clone().normalize())
return pinObj
}
https://stackoverflow.com/questions/66811380
复制相似问题