【R3F】06.自定义Geometry

自定义Geometry

  • 创建vertex,同在threejs中方式一样,这里是随机生成一些点位信息,创建10个三角面

  • 使用useMemo,因为创位置信息只需要有一次就可以了

     const varticesCount = 10 * 3;
        const positions = useMemo(() => {
            const positions = new Float32Array(varticesCount * 3)
            for (let i = 0; i < varticesCount * 3; i++) {
                positions[i] = (Math.random() - 0.5) * 3
            }
            return positions
        }, [])
    
    
  • 设置attribute

    
       
    
    
  • 计算法线,需要geometry初始化完成之后,才能调用属性的方法,所以这里使用了useEffect

你可能感兴趣的:(Threejs,前端,javascript,react.js)