问题标签 [uv-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
487 浏览

actionscript-3 - Stage3D / AS3 中的 UV 映射


我写了一个小波前的 .obj 文件解析器(3d 模型格式),我能够正确显示几何图形,但在正确纹理化它时遇到问题。
我能够获得正确纹理的唯一方法是在我的 3d 编辑器中划分模型,以这种方式导出和解析它.. 即:我不再共享顶点数据,每个三角形都是独立的,所以我的 indexBuffer 的数组看起来像这样 [0,1,2,3,4,5,6...] 我想避免。

正确的纹理/低效几何体(不重复使用顶点:36 个顶点): 正确的 http://imageshack.us/a/img29/2242/textureright.jpg
错误的纹理/正确的拓扑(共享数据:仅 8 个顶点 = 高效): 错误 http://imageshack.us/a/img443/6160/texturewrong.jpg

我想尝试将 UVs 缓冲区与发往顶点的 indexBuffer 分开,但没有找到方法;如果确实可行。
我也弄乱了 agal 代码,但没有取得任何结果。

期望的结果是能够在正在绘制的三角形的上下文中将不同的 UV 坐标传递到同一顶点。
该怎么办?
谢谢。(我是 3d 编程新手)

0 投票
2 回答
2540 浏览

wpf - 如何从纹理图像 x,y 到 3d 空间进行“反向”纹理映射?

我正在使用 WPF 3D,但我认为这个问题应该适用于任何 3d 纹理映射。

假设我有一个奶牛模型,我想在奶牛上画一个圆形点(我想动态地做这个——假设我直到运行时才知道点的位置)。我可以通过对顶点着色来做到这一点(顶点根据它们与点中心的距离分配颜色),但如果模型是相当低的多边形,那将给出一个锯齿状边缘的圆。

我可以使用像素着色器来做到这一点,其中着色器根据每个像素与点中心的距离为每个像素着色。但是假设我无法访问像素着色器(因为我不在 WPF 中)。

所以,似乎我想做的是动态地创建一个带有圆形图案的纹理,并用它来纹理牛。

问题是:当我在绘制纹理时,我如何知道纹理图像上给定 xy 坐标对应的模型空间中的 3d 坐标?

也就是说,假设我已经用纯白色纹理对模型进行了纹理化——我已经设置了纹理坐标,完成了纹理映射,但还没有纹理图像。所以我有这个 1000x1000(或其他)像素图像,根据事先在模型上设置的一些漂亮的纹理坐标,它可以很好地覆盖在奶牛上。我知道当 3D 硬件去绘制一个给定的三角形时,它使用三角形顶点的纹理坐标来找到图像的相应三角形区域,然后在三角形的表面上进行插值以填充显示的模型像素来自图像的那个三角形区域的颜色。

我怎么走另一条路?怎么说呢,对于我的纹理图像上的这个给定 xy 点,并且给定已经在模型上设置的纹理坐标,一旦纹理映射发生,这个图像像素将对应的模型空间中的 3d 坐标是什么?

如果我有这样的功能,我可以为我的纹理贴图图像着色,这样牛身上圆中心点一定距离内的所有点(在 3d 空间中)都会得到一种颜色,而该距离之外的所有点都会得到另一种颜色颜色,我最终会在奶牛上得到一个漂亮、清晰的圆形斑点,即使是相对低多边形的模型。听起来对吗?

我确实知道,给定每个三角形顶点的纹理坐标,我可以逐步遍历模型中的三角形,在纹理图像上找到相应的三角形,并通过插值在该三角形中的纹理像素上进行自己的插值穿过由顶点确定的 3d 平面。这听起来并不难。但我只是想了解是否有一些标准的 3d 概念/函数,我可以调用一个现成的函数来为我提供给定纹理 xy 的模型空间坐标。

0 投票
1 回答
260 浏览

c# - 如何为纹理边界设置 UV

我正在生成一个能够缩放的平面,而纹理的边缘不会受到像素方面的影响。飞机需要能够保持其边界比例,但能够伸展到几乎任何尺寸。网格有 8 个顶点和 10 个三角形来构成边界。无论如何,这就是我得到的。忽略网格几何体上的数字。

在此处输入图像描述

是否可以编辑 UV 以获得所需的结果?这是代码:

填充是忽略缩放的纹理周围定义的像素,而高度和宽度是形状的尺寸。

0 投票
1 回答
1442 浏览

python - Mayavi 和纹理映射(或将 2D 图像转换为 3D 图像)

我有一个项目,我有一个 2D 图像,但我需要把它变成一个 3D 对象。我已经有了对象的骨架模型,只需将颜色应用于表面即可。我一直在环顾四周,似乎像 Blender 这样的 3D 程序有这样的方法,称为纹理映射或 uv 映射。然而,我被分配使用 Mayavi 和 Python,到目前为止,我在 Mayavi 文档中找不到任何关于纹理映射的信息。我想知道是否有人知道如何(如果可能)在 Mayavi 中执行纹理映射。

或者,如果纹理映射是不可能的,那么将 2D 图像转换为 3D 对象的最佳方式(如果有的话)是什么。

0 投票
0 回答
260 浏览

python - 将 2D 数据转换到 3D 表面

我可能有一个不寻常的问题,所以请多多包涵。我正在使用一个表示 x,y 坐标的数据集,并且在每个坐标处都有一个值,我们称之为激活值。现在我的任务是将这个激活值转换到 3D 模型的表面上。我已经有一个 3D 模型,它由三个矩阵组成(每个矩阵包含模型的 3D 点,例如一个矩阵将具有 x 坐标值,而另一个将具有 y 坐标,最后一个将具有 z 坐标)。我想知道有没有办法应用我的 2D 信息并将其应用到 3D 模型的表面,如果是这样,最好的方法是什么?

我应该提到我正在使用 python 进行编程,而我的 3D 渲染是使用 mayavi 完成的。

0 投票
2 回答
3117 浏览

libgdx - UV 映射不适用于导入的 obj 文件

我已经从 Blender 导出了一个 .obj 文件(连同 .mtl 和一个 .png)以导入到 libgdx 项目中。该文件包含 UV 和法线数据。

我将文件拉到应用程序中,如下所示:

该对象应如下所示:(是的,我不是艺术家)

在此处输入图像描述

但它最终看起来像这样:

在此处输入图像描述

我的 UV 贴图怎么了?

0 投票
2 回答
1041 浏览

opengl - 在 Blender 中将几个纹理合二为一

我在 Blender 中有一些模型。我想:

  1. 将几个不同的纹理连接成一个并将其保存为位图
  2. 为这些连接的纹理制作 UV 映射

我需要为OpenGL中的纹理模型解决这个问题。我有数据结构,可以将一个纹理绑定到一个模型中,所以我希望每个模型都有一个纹理。我知道我可以使用 Texture GL_TEXTURE_xD_ARRAY,但我不想让我的项目复杂化。我知道如何在 Blender 中进行简单的 UV 映射。

我的问题:

  • 我可以只在 Blender 中进行 1. 和 2. 阶段吗?
  • Blender Bake技术是我正在寻找的吗?
  • 是否有一些教程显示如何做到这一点?(针对这一具体问题)
  • 也许有人建议我另一种 Blender 技术(或 OpenGL 解决方案)
0 投票
1 回答
351 浏览

three.js - Three.js 的自动 UVMapFlat

有人仅基于(任何)几何为 Three.js 制作了自动平面 uv 映射吗?

函数 uvFlat(object) {object.geometry.faceVertexUvs[0] = [?]};

我不在乎矩阵方向。我只需要像 3dS Max 这样的默认平面映射,您可以在其中选择 UVMapping 修改器并得到它。

我找到了 mrdoob 的 THREE.GeometryUtils.UVMapFlat(geometry, matrix),但我认为它还没有完成。

谢谢 !

0 投票
1 回答
203 浏览

3d - 如何创建手臂的 UV 贴图?

我想根据我手臂的实际尺寸设计一个定制的袖子纹身。关于解决此问题的最佳方法有什么建议吗?

我有点 3D 菜鸟,但我的想法是用 kinect 扫描我的手臂,创建一个网格,然后从 PS 中的网格创建一个 UV 贴图。我认为这是正确的工作流程,但我不确定如何执行每个步骤。我的主要问题是从网格中获取 UV 贴图。一旦我有了UV贴图,我应该会没事的。

谁能推荐我每一步可能需要的最佳工作流程和软件工具?

0 投票
3 回答
16605 浏览

graphics - Automatically generating UV coordinates algorithms

I'm writing my own uv editor for a tool of mine, and I'm trying to incorporate as many algorithms as I can for projections. I need to take an arbitrary mesh, and make uv coordinates for each vertex.

So far, I have planar, and Least Squares Conformal Map.

I'd like to incorporate more, such as tri-planar, cylinder, spherical, but I'm having a very difficult time locating the information to perform the algorithms. The tri-planar appear to generate a color, but I need to get everything in UV coordinates.

Help would be very appreciated!!