小编szr*_*ght的帖子

在反应三/大炮剪切对象时使用凸多面体碰撞

我在尝试使用仅用于碰撞的导入 glb 文件使碰撞正常工作时遇到问题。

这个问题有两个部分:

  1. 我目前在控制台中收到大量faceNormal 错误和顶点警告。
.faceNormals[767] = Vec3(0.999994684003945,-4.252105447140875e-10,0.003260669233505899) looks like it points into the shape? The vertices follow. Make sure they are ordered CCW around the normal, using the right hand rule.
Run Code Online (Sandbox Code Playgroud)
.vertices[555] = Vec3(-18.135730743408203,9.071623802185059,-13.433568000793457)
Run Code Online (Sandbox Code Playgroud)

我不确定这个错误是否与我如何合并对象的几何形状或对象如何在搅拌机内构建有关。

  1. 当我的球体与 glb 模型碰撞时,有时会用足够的力将其剪断。(按住W键使球体向前移动)。它特别是在环境的边缘,在平坦的墙壁上,它会产生一些阻力,但仍然能够在按住移动键足够的时间下成功地穿过。

这是我用来导入 glb 模型的代码:

import React, { useMemo } from "react";
import { useConvexPolyhedron } from "@react-three/cannon";
import { Geometry } from "three-stdlib/deprecated/Geometry";
import {useGLTF} from "@react-three/drei";
import collision from "./Collision6.glb";

function toConvexProps(bufferGeometry) {
  const geo = new Geometry().fromBufferGeometry(bufferGeometry);

  geo.mergeVertices();
  return …
Run Code Online (Sandbox Code Playgroud)

blender cannon.js reactjs react-three-fiber react-three-drei

5
推荐指数
0
解决办法
486
查看次数