用于挤压测量的自定义 UVgenerator Three.js

2024-01-02

我想在挤压几何体的表面使用纹理。我研究定制 UV 发生器已经有一段时间了,并发现了这些相关问题: 1.)如何将纹理应用到 THREE.ExtrudeGeometry? https://stackoverflow.com/questions/14797407/how-to-apply-a-texture-to-three-extrudegeometry/22867384#22867384 2.) 加载的纹理看起来很模糊,或者像单一颜色。如何让纹理变得酥脆锐利 https://stackoverflow.com/questions/23864338/loaded-texture-appears-blurred-or-like-a-single-color-how-to-make-the-texture/23864709#23864709

然而,提出的方法是将我的几何点除以 1000 并mesh.scale.set(1000,1000,1)不起作用,因为我的几何图形不再位于正确的位置。我更愿意指定 UV 映射。一个答案说要根据源代码实现一个自定义 uvgenerator,但我被困住了并且不知道该怎么做。

这是我的几何体创建,材质为 512x512px,如何将纹理映射到顶部?:

pointList=[[0,0,0],
        [0,1000,0],
        [750,1000,0],
        [750,750,0],
        [1000,750,0],
        [1000,0,0]]

for (i=0;i < pointList.length; i++) {

        point = pointList[i];

        x = point[0];
        y = point[1];

        myPoints.push( new THREE.Vector2 (x,y) );
    }

    myShape = new THREE.Shape( myPoints );
    extrusionSettings = {
        amount:height
    };

    myGeometry = new THREE.ExtrudeGeometry( myShape, extrusionSettings );
    resultshape = new THREE.Mesh( myGeometry, material );

您可以为您的产品指定自定义 UVExtrudeGeometry通过指定你自己的UVGenerator, 的属性之一extrusionSettings.

要指定您的自定义 UV 发生器,您可以将其用作模板THREE.ExtrudeGeometry.WorldUVGenerator,可以在src/extras/geometries/ExtrudeGeometry.js.

然而,有一个更简单的解决方案可能适合您。

您可以利用offset and repeat纹理的属性。使用以下模式:

texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set( 1 / 500, 1 / 500 );
texture.offset.set( 0.1, 0.5 );

三.js r.68

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于挤压测量的自定义 UVgenerator Three.js 的相关文章

  • 用 tkinter 画圆更简单的方法?

    在a上画一个圆tkinter Canvas通常由create oval方法 然而 提供边界框通常是绘制圆的一种令人困惑的方式 想出一个捷径并不是特别困难 但我找不到其他人在做类似的事情 所以我将其发布 希望其他人发现它有用 这是一个称为猴子
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • WPF - 路径几何...有没有办法绑定数据属性?

    我有一个ControlTemplate作为 气泡 弹出窗口AdornerLayer给定的控制 它工作正常 但我需要能够计算它应该显示的位置 中间 底部 代替
  • 为什么我的圈子值为零?

    这是我的 Circle 类代码 class Circle private double radius private double area public Circle double radius this radius radius pu
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • 有效地找到圆扇区内的点

    我有一组随机分布的二维点 我需要对这些点的一小部分执行时间密集型操作 但我需要首先弄清楚需要对哪些点执行此时间密集型操作 为了确定我需要哪些点 它们必须通过一系列几何标准 最基本的标准是它们是否在特定点的一定距离内 第二个最基本的标准是它们
  • 用矩阵变换 3D 向量的方法

    我一直在阅读一些关于用矩阵转换 Vector3 的文章 并且正在努力深入研究数学并自己编码 而不是使用现有代码 无论出于何种原因 我的学校课程从未包含矩阵 所以我正在填补我的知识空白 值得庆幸的是 我认为我只需要一些简单的东西 背景是我正在
  • Three.js获取立方体的4个角坐标?

    如何获得立方体四个角的坐标 如果您使用 CubeGeometry 宽度 高度 深度 并将立方体放置在某处 那么您的八个角位于 position x width 2 position y height 2 position z depth 2
  • 使用 JSTS 缓冲区识别自相交多边形

    我希望能够通过 JSTS 无法构造自相交多边形或通过添加缓冲区并在缓冲后测试它们是否是多重多边形来测试自相交多边形 但对于某种形状 这是行不通的 这远远超出了我的几何能力格罗克 a self intersecting shape var p
  • 三.js、PointerLock和碰撞检测

    我正在开发一个 3D 虚拟家庭项目 除了碰撞检测之外 一切正常 我使用 PointerLockControls 来控制相机和移动 但我不确定如何检测每个可能方向的碰撞 为简单起见 我从与 0 0 0 上的简单立方体的向前和向后碰撞开始 ra
  • 将球面坐标转换为笛卡尔坐标然后再转换回笛卡尔坐标并不能给出所需的输出

    我正在尝试编写两个函数来将笛卡尔坐标转换为球面坐标 反之亦然 以下是我用于转换的方程式 也可以在此找到维基百科页面 https en wikipedia org wiki Spherical coordinate system And 这是
  • 几何:找到两点之间特定距离的点

    这类似于这个问题 https stackoverflow com questions 328107 how can you determine a point is between two other points on a line se
  • 在小于 O(n) 的时间内检查凸多边形交集?

    我有 2 个凸多边形 2d 我想检查这 2 个多边形是否相交 事实上 我会多次移动和旋转多边形 所以我也可以做一些预计算来获得这个问题的快速答案 我正在寻找一种低复杂度的算法 我知道可以检查一个点是否位于 O log n 的凸多边形中 我想
  • 路径描边算法(转换为三角形/四边形)或其他建议

    有谁知道将矢量路径转换为由三角形 四边形面组成的描边路径的好算法 最好采用圆线连接 基本上 我试图绘制一条粗路径 其颜色基于随路径距离变化的值 我正在考虑将路径转换为三角形 四边形 并通过提供沿路径的距离作为一维纹理坐标来映射它 然后可以使
  • 计算顶点法线

    我正在使用 3d 修改器https github com foo123 MOD3 https github com foo123 MOD3弯曲一个立方体 几何体更新 顶点位置更改 后 灯光不会更新 立方体仍然着色 就好像没有任何变化一样 所
  • 如何计算某物是否位于某人的视野中

    我有一个对象 它在 2D 空间中具有位置和速度 两者都由向量表示 对象的视野每侧均为 135 度 它看起来与移动的方向相同 速度矢量 我有一些对象 其在 2D 空间中的位置由向量表示 在图中 蓝色背景上的对象是可见的 红色背景上的对象对主体
  • 计算任意网格的平面 UV 坐标

    我有从二维形状生成三角形网格的代码 因为在大多数情况下 这些形状在表面上的顶点分布不均匀 所以我在生成 UV 时遇到了问题 这样就不会导致纹理扭曲 任何人都可以推荐一些讨论平面网格上 UV 计算技术的文章 书籍 代码示例吗 谢谢 好的 让我
  • 如何在 CSS 中设置三角形蒙版的样式?

    我一直在研究如何使用 css 制作这个 逆三角形 背景 我指的是背景 固定 图像顶部底部的白色对角部分 我得到的最多的是形状 这显然不是一个好的解决方案 因为它是为了反应灵敏设计 我不在乎当窗口变窄时是否只有一条对角线 只要没有水平滚动即可
  • 给定一个点向量(可能无序),找到多边形(不是凸包)

    我目前有一个点向量 vector
  • Three.js - 如何使用姿势估计数据为 3D 模型制作动画

    我正在尝试使用姿势估计坐标来对 Three js 中的装配模型进行动画处理 我正在使用的姿势估计技术提供了视频源中人物的实时 x y z 坐标 我正在尝试使用这些坐标相应地移动 3D 模型 我使用下面的代码 其中一些代码是我在相关问题的答案

随机推荐