问题标签 [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 投票
1 回答
2396 浏览

c# - 为什么 TextureCoordinates 对于 Viewport2DVisual3D 可以按预期工作,但对于 GeometryModel3D 却不行?

我有一个在 3ds Max 中创建的模型。该模型是一个简单的矩形。它的纹理具有重叠的纹理坐标——模型应该并排显示图像文件的右半部分两次。我将此模型导出为.obj,并使用 Microsoft Expression Blend 将其转换为 XAML。

我从混合中取出,并使用两种方法MeshGeometry3D将其添加到 a中:Viewport3D

  1. 使用 aViewport2DVisual3D和 aLabel作为它的Visual。将Label' 背景设置为纹理图像。使用这种方法,一切都按预期工作。
  2. 使用 aModelVisual3D和 aGeometryModel3D作为它的Content。将GeometryModel3D的材质设置为DiffuseMaterial使用图像作为画笔的材质。使用这种方法,TextureCoordinatesMeshGeometry3D似乎有不同的解释。

下面提供了完整的代码。后面的代码是空的,除了InitializeComponent()

这里是test.jpg

在此处输入图像描述

这是最终结果。左侧是Viewport2DVisual3D,它看起来与 3ds Max 中的相同。右边是ModelVisual3D,它似乎对TextureCoordinates不同的解释。

在此处输入图像描述

这里发生了什么?由于我正在开发的软件的其他要求,我无法使用Viewport2DVisual3D. 我怎样才能做出正确的GeometryModel3D解释TextureCoordinates

0 投票
1 回答
292 浏览

binary-data - 读取 Lightwave LWO 二进制文件,UV 问题

好的,所以我正在尝试制作 CSHARP Lightwave 3D 模型转换器来将我的 LWO 转换为 Javascript 对象。到目前为止,我有足够的胆量来运行这个程序,我很高兴。但是我在从二进制文件中导出 UV 时遇到了麻烦。

这是我的 LWO 二进制文件的参考资料: http ://www.gpwiki.org/index.php/LWO

出于测试目的,我使用带有两个三角形的单方形模型,有六个点。所以你可能已经熟悉了,我来看看纹理 UV 块,它在 HEX 中看起来像这样(带注释的逗号,并翻译了 Ascii):

现在,根据我链接的文档,可以转换为以下内容。如果您想自己翻译,我发现这是一个方便的工具,用于将 32 位 HEX 翻译成 IEEE 754 单浮点数。

http://www.h-schmidt.net/FloatApplet/IEEE754.html

LWO UV 二进制翻译:

看,这看起来足够健康,直到您将 UV 位置与 Lightwave 中的实际位置进行比较:

你可以看到,二进制文件并没有那么遥远,但它足以让一切变得不同,尤其是当意图导出数千个这样的虫子时。现在我看不出这种差异有任何规律。

我目前的理论是这些数字不是 IEEE754 格式。但是所有其他值都是,所以为什么这些会有所不同。有什么我想念的吗?为了进一步的帮助,这里有一些其他的测试值。

似乎有些是正确的,而另一些只是……非常错误。感谢您花时间阅读这个问题,我很欣赏它非常长而且数字密集。任何帮助都会很棒!enter code here

0 投票
0 回答
455 浏览

3d - 自动 UV 展开/展开

我试图找到可以为我的 3D 网格展开 UV 的库,但只找到了完整的工具。你能推荐图书馆吗?

0 投票
1 回答
885 浏览

javascript - 如何消除UV贴图三角形(HTML5 Canvas)之间的接缝?

我在http://jsfiddle.net/pB5A9/1/上设置了一个简单的 UV 映射演示。它基于使用 HTML5 Canvas 的图像处理和纹理映射?.

该算法本身运行良好。不过有一个问题。三角形之间似乎有一条微弱的接缝。我在 Chrome (14.something) 和 Safari (5.1) 上都对此进行了测试。它可能在其他浏览器中正常工作,但我不能确定这一点。

我猜这个问题与剪辑有关。问题是我不确定如何调整坐标以使问题消失。也许它缺少一些填充(+1)或其他东西。欢迎提出想法。:)

0 投票
1 回答
223 浏览

ios - UV 更改后不再渲染纹理

我打算写一个纹理图集管理器,但我遇到了一个问题。当我修改我原来的 UV 坐标时,我的程序不再渲染任何东西??这是我的绘制代码:

但是,它可以像这样正常工作:

帮助?

0 投票
3 回答
9944 浏览

3d - 给定球体纹理的 UV 坐标,计算球体的 XYZ 点

我有一个 3D 球体。在运行时,我正在为它生成一个动态的 2048x1024 纹理。在这个纹理上画了一个小圆圈,它可以在任何地方。我在纹理上有这个圆的 x/y,因此有相应的 UV 坐标。现在,我想插入这个小圆圈在我的球体上的确切位置。

这是我一直在使用的代码,但它似乎总是偏离 +/-90 度

谢谢你的帮助!

0 投票
1 回答
439 浏览

opengl-es - 使用 3ds Max 为 OpenGL 烘焙纹理

我在渲染到纹理时遇到问题。纹理映射到每个多边形而不是整个对象。这里在高通论坛中再次从用户 andreasv 中详细描述了该问题。你能帮助我吗?我需要用另一个程序烘焙纹理吗?

0 投票
4 回答
6703 浏览

parsing - 解析 Wavefront .obj 纹理坐标的问题

我正在为 OpenGL ES 2.0 在 objc 中编写自己的 .obj 解析器,以便更好地了解 OpenGLES 的工作原理。加载顶点并显示带有顶点颜色的模型就像一个魅力。只是一个小提示:我正在使用索引缓冲区。

真正的问题是纹理 atm 的映射。正如您将在下面看到的那样,我的纹理没有按照应有的方式映射。

这是我认为 .obj 格式的工作原理,如果我错了,请纠正我:“f”行描述了一个面,其中斜线之前的数字定义了顶点的索引,斜线之后的数字定义了纹理坐标.

考虑以下 .obj 文件(由 Cinema 4D 导出):

以及以下纹理:

512x512 纹理

现在,当我在 OpenGL ES 3D 空间中定位顶点并尝试将纹理坐标映射到每个单独的顶点时,映射会出错。我可以通过移动一些纹理坐标值来解决这个问题,但我意识到这不是解决问题的方法。我还尝试编辑我的一些 .obj 导出器设置以翻转轴和/或 uv 映射,但它们都不会导致正确的映射。关于 .obj 文件格式,我的理论中有什么遗漏吗?我可能已经说过一件事:我昨天读到 .obj 格式的坐标系统将左上角定义为纹理的锚点。所以我已经在解析中修复了这个问题。

以下是对当前情况的一个小总结: 更新:纹理的坐标系是实际的 .obj 纹理坐标系,而不是 OpenGL 的坐标系。我在我的解析算法中翻译坐标来解决这个问题。

概括

0 投票
1 回答
494 浏览

textures - 在 Blender 2.6 中创建 md3 模型

我正在使用 Blender 2.6 创建 Quake III 格式 (md3) 的模型。我设法创建了一个 UV 贴图,并且纹理在 Blender 中正确映射。但是,当模型在游戏中使用时,纹理映射是完全错误的。我需要做的不仅仅是创建 UV 贴图吗?md3 文件似乎没有纹理对齐数据。

0 投票
1 回答
5379 浏览

3d - 计算任意网格的平面 UV 坐标

我有从二维形状生成三角形网格的代码。因为在大多数情况下,这些形状在表面上的顶点分布不均匀,所以我在生成 UV 时遇到了问题,因此它不会导致纹理失真。任何人都可以推荐一些关于平面网格上的 UV 计算技术的文章、书籍、代码示例?谢谢