three.js - 无法在 CRA 上使用 textureloader three.js 渲染 svg
问题描述
我正在尝试在我的 CRA 上使用没有 react-three-fiber 的three.js。我在将 SVG 渲染到我的立方体上时遇到问题。相同的代码适用于下面的常规 .html,显示了我正在尝试创建的可重用组件。
import React, { useRef, useEffect } from 'react'
import * as THREE from "three";
const ScalableCargoThree = () => {
const ref = useRef(null);
useEffect(() => {
const scene = new THREE.Scene();
scene.background = new THREE.Color(0xf0f0f0);
const fov = 75;
const aspect = 3;
const near = 0.1;
const far = 5
const camera = new THREE.PerspectiveCamera(
fov,
aspect,
near,
far
);
camera.position.z = 3;
const renderer = new THREE.WebGLRenderer({ antialias: true });
ref.current.appendChild(renderer.domElement);
renderer.setSize(300, 300);
let cube;
const geometry = new THREE.BoxGeometry(1, 1, 1);
const loader = new THREE.TextureLoader();
const material = new THREE.MeshBasicMaterial({
map: loader.load('./textures/generator.svg')
});
cube = new THREE.Mesh(geometry,material);
scene.add(cube);
renderer.render( scene, camera );
// renderer.render(scene, camera);
}, []);
return (
<div ref={ref}></div>
)
}
export default ScalableCargoThree;
解决方案
推荐阅读
- r - 主题标签会影响 R 中 lmer 模型的 p 值吗?
- java - 为什么当请求 url 相同并使用 CompletableFuture 处理时,Tomcat 使用不同的线程?
- javascript - 如何缩放一组圆圈以使它们在整个缩放过程中保持可见?
- logistic-regression - 混合 logit (mlogit) 与社会人口变量
- python - 我不明白 __add__ 函数在这里是如何工作的?
- ruby - #scan 突然返回一个空数组
- filter - How to use filter in map
- javascript - 带有图像的 SVG 进度条
- asp.net - 如何注册 apicontroller 和控制器路由
- node.js - 按 id 从 mongoDB 中删除