我试图在我的网格上创建一个贴花使用three.js和反应-三纤维。我相信我正确地设置了网格和材料,但由于某种原因,贴花没有出现在画布上。
这是包含模型、背板和贴花的父组件。
<Canvas camera={{ position: [0, 0, 2], fov: 70 }}>
<Lights />
<Suspense fallback={null}>
<Model flipped={flipped} returnMesh={setMesh} />
<Decal mesh={mesh} />
<Back />
</Suspense>
</Canvas>
这是我从. glb文件创建t恤网格的组件的一部分。网格传递回父节点,然后传递到Decal组件。
let geometry, material, mesh;
// GEOMETRY
geometry = useGLTF("/tshirt.glb").nodes.tshirt.geometry;
useEffect(() => {
material = new THREE.MeshStandardMaterial({ color: "orange" });
mesh = new THREE.Mesh(geometry, material);
}, []);
以下是我尝试设置贴花网格的方式:
extend({ DecalGeometry });
const Decal = ({ mesh }) => {
let decalGeometry;
useEffect(() => {
if (mesh) {
decalGeometry = new DecalGeometry(
mesh,
new THREE.Vector3(0, 0, 0),
new THREE.Euler(0, 0, -1, "XYZ"),
new THREE.Vector3(0.5, 0.5, 0.5)
);
}
}, [mesh]);
return (
<mesh geometry={decalGeometry}>
<meshStandardMaterial attach="material" color="red" />
</mesh>
);
};
我没有得到任何错误,贴花只是没有出现。我希望有人有一些见解。没有太多关于贴花几何体与3J在那里,甚至更具体的r3f。
在指定几何图形之前,您正在使用它。这是因为对useffect
的回调是在调用deap
之后执行的。
建议的修复方法:使用usemo
hook。
例如。
js prettyprint-override">extend({ DecalGeometry });
const Decal = ({ mesh }) => {
const decalGeometry = useMemo(() => {
return new DecalGeometry(
mesh,
new THREE.Vector3(0, 0, 0),
new THREE.Euler(0, 0, -1, "XYZ"),
new THREE.Vector3(0.5, 0.5, 0.5)
);
}, [mesh]);
return (
<mesh geometry={decalGeometry}>
<meshStandardMaterial attach="material" color="red" />
</mesh>
);
};
问题内容: 在1.5.5.3123版本的机盖上运行 Folium版本:0.1.2,内部版本:1 下面的代码; 退货 但没有别的。 如何在ipython笔记本中显示地图? 问题答案: 我发现iPythonNotebooks中有关Folium的本教程很有帮助。您创建的原始Folium实例不足以让iPython显示地图- 您需要做更多的工作才能获得一些iPython可以渲染的HTML。 要在iPytho
为了构建一个贴纸应用程序,我遵循以下指南:https://github.com/whatsapp/stickers/tree/master/Android 一切都很好(包括将贴纸添加到whatsapp),除了一件事:包细节视图()中没有显示webp贴纸。 我正在像这样更改贴纸文件的加载位置 StickerPreviewAdapter.java *如这里所述:https://github.com/w
问题内容: 我是Java初学者 我试图制作我的jframe节目,但没有 它不起作用 问题答案: 我认为您没有正确声明您的JFrame。这是创建简单框架的示例:
问题内容: 我是iOS的新手。我正在尝试显示一个弹出菜单,但是我却无法显示菜单。请帮忙。这是我的代码: 请帮助我显示弹出菜单。 先感谢您。 问题答案:
问题内容: 我看着其他问题,无法解决… 我做了以下安装django-debug-toolbar的操作: pip安装django-debug-toolbar 添加到中间件类: 3添加了INTERNAL_IPS: INTERNAL_IPS =(‘174.121.34.187’,) 4将debug_toolbar添加到已安装的应用程序 我没有收到任何错误或任何内容,并且该工具栏也没有显示在任何页面上,甚
我已经下载了谷歌API,现在我的地图XML似乎是一个标准问题,它只是在谷歌地图应该显示的地方显示了一个灰色抓握,如下所示: 我已经尝试了两个API密钥(通过生成一个新的),但都没有成功。我在清单中添加了internet权限和Google maps库,如下所示: 舱单: API密钥: 这是我的地图XML布局: 我正在设置我的项目谷歌API的SDK版本和我的AVD相同。 当我的应用程序被加载并且我的意