Questions tagged «uv-mapping»

4
UV和UVW映射到底是什么?
为了理解一些基本的3D概念,目前,我试图弄清楚纹理的实际工作方式。我知道UV和UVW映射是将2D纹理映射到3D对象的技术-维基百科告诉了我很多。我在Google上搜索了一些说明,但只发现了以我已经知道它是什么的教程。 根据我的理解,每个3D模型都是由点组成的,几个点会构成一张脸?每个点或面都具有一个辅助坐标,该辅助坐标映射到2D纹理中的ax / y位置吗?还是解包如何操纵模型? 另外,UVW中的W真正起什么作用,它提供了超过UV的作用?据我了解,W映射到Z坐标,但是在什么情况下对于相同的X / Y和不同的Z我将具有不同的纹理,Z零件不可见吗?还是我完全误解了?


2
有哪些方法可以对地形进行纹理映射?
我正在与XNA一起开发3D游戏,并且正在努力营造一个适当而良好的环境。实际上,我遵循了一个教程来根据高度图创建地形。要对其进行纹理处理,我只需在其上应用草纹理并将其平铺多次。 但是我想要做的是具有真实逼真的纹理,而且还可以自动生成它(例如,如果我想使用Perlin噪声生成地形然后对其进行纹理化)。 我已经学习了多重纹理,如何为不同的纹理加载具有不同颜色的地图文件,但是我认为这并不是真正有效的方法,例如,对于悬崖或非常陡峭的区域,由于它是从地面观看的,因此会严重地平铺纹理最佳。(此外,我不知道该如何绘制道路或泥泞道路。) 我正在寻找一种有效的解决方案,以对过程生成的地形进行逼真的纹理映射。

5
构造小行星
我正在尝试对这颗小行星进行纹理处理,使其看起来合理。我虽然想念什么。 遵循本教程,到目前为止,我已经掌握了这一点。 现在我不明白下一步:您如何解决接缝问题?二十面体球体中有一个不可避免的接缝。好。如何绘制纹理,使其在应用于对象时看起来无缝?我怎么知道哪条边连接到哪一边?我猜它会对称吗? 这似乎很难构造简单的球体。我在这里缺少一些技巧吗?

1
如何在生成的锥化网格上修复Z字形UV贴图伪像?
我正在基于曲线创建程序网格,如下图所示,整个曲线的网格尺寸都变小了。 问题是UV会随着大小的变化而呈锯齿状(当整个曲线的网格大小相同时,UV会完美地起作用)。 Vertices.Add(R); Vertices.Add(L); UVs.Add(new Vector2(0f, (float)id / count)); UVs.Add(new Vector2(1f, (float)id / count)); start = Vertices.Count - 4; Triangles.Add(start + 0); Triangles.Add(start + 2); Triangles.Add(start + 1); Triangles.Add(start + 1); Triangles.Add(start + 2); Triangles.Add(start + 3); mesh.vertices = Vertices.ToArray(); //mesh.normals = normales; mesh.uv = UVs.ToArray(); mesh.triangles = Triangles.ToArray(); 我怎样才能解决这个问题?

1
如何计算切线和双切向量
我在three.js中加载了纹理,然后传递给着色器。在顶点着色器中,我计算法线,然后将uv向量保存到变量中。 <script id="vertexShader" type="x-shader/x-vertex"> varying vec3 N,P; varying vec2 UV; void main() { gl_Position= projectionMatrix * modelViewMatrix * vec4(position,1.0); P= position; N= normalMatrix * vec3(normal); UV= uv; } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec3 N,P; varying vec2 UV; uniform sampler2D texture; void main() { gl_FragColor= texture2D(texture,UV); } </script> 如何计算T和B向量?

4
无法理解这些UV纹理坐标(范围不是0.0到1.0)
我正在尝试将由Google SketchUp 8 Pro生成的简单3D对象绘制到我的WebGL应用程序上,该模型是一个简单的圆柱体。 我打开了导出的文件,并将顶点的位置,索引,法线和纹理坐标复制到一个.json文件中,以便能够在javascript上使用它。除了具有一些非常大的值(例如46.331676和负值)的纹理坐标外,其他所有内容似乎都可以正常工作。现在我不知道我是否错了,但是2D纹理坐标不应该仅在0.0到1.0的范围内吗? 好吧,使用这些纹理坐标绘制模型会给我一种完全怪异的外观,并且只有当我非常接近模型(不是我自己,凸轮)时,我才能正确看到纹理,就像纹理疯狂一样减小尺寸,并在模型的各个面上无限重复。(是的,我在那个纹理包裹物上使用了GL_REPEAT) 我注意到的是,如果获得所有这些坐标并将它们除以10或100,我将获得“正常”外观,但仍不在0.0到1.0范围内。 这是我的json文件:http://pastebin.com/Aa4wvGvv 这是我的GLSL着色器:http : //pastebin.com/DR4K37T9 这是SketchUp导出的.X文件:http : //pastebin.com/hmYAJZWE 我也尝试使用XNA绘制此模型,但仍然无法正常工作。使用此HLSL着色器: http //pastebin.com/RBgVFq08 我尝试将同一模型导出为不同的格式collada,fbx和x。所有这些产生相同的结果。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.