问题标签 [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.
c# - 将 UV 映射到凸出的三角形条带
我不知道“凸起”是否是正确的术语,但这是我现在能想到的。我正在尝试沿着三角形条带映射一个 1 像素宽的图像(尽管从技术上讲,每个纹理都会有这个问题)以模拟激光。当它完全均匀且呈方形时,它的外观是这样的:
还有一个线框:
但是当您将点向内滑动时,就会出现问题。UV 现在是错误的,因为它试图映射它,就好像那个三角形是完全水平的。
以及它的线框:
现在,我什至想不出要搜索的术语来弄清楚我将如何映射它。我想对其进行映射,以便条纹与条纹本身一起缩小,而不仅仅是正面映射。有小费吗?我敢肯定,这是我现在想不出的非常简单的事情。
three.js - 在three.js中将纹理正确应用于挤出的椭圆对象
一段时间以来,我一直难以将纹理正确应用于 three.js 自定义对象。专门挤出的椭圆形物体。我环顾四周,从我所见,我需要使用它的边界框来生成对象 UV 映射。但是,我不确定如何执行此操作,而且我似乎找不到任何有关其工作原理的详细解释。谁能帮我详细解释一下这个过程?
谢谢,zaidi92
javascript - 如何使 Three.js Extrude Geometry 使用局部 UV 坐标进行纹理处理,而不是使用世界坐标
尝试在three.js 中将纹理应用于我的对象时,我一直遇到问题。每当我尝试对挤出的几何体进行纹理处理时,纹理就不会出现。在放弃了一段时间然后回来挖掘更多之后,我发现 ExtrudedGeometry.js 在应用纹理时使用了世界坐标。
我想将其更改为局部坐标,以便我的纹理正确包裹。我一直在寻找一段时间,但似乎找不到与此主题相关的任何内容。以下是帮助我走到这一步的讨论,包括紫外线发生器。
https://github.com/mrdoob/three.js/issues/1396
https://github.com/mrdoob/three.js/issues/1824
我真的可以在这方面使用一些帮助。这是我一直在处理的一个问题,但我还没有找到任何东西。
javascript - 正确的 UV 映射 Three.js
我正在尝试正确映射 UV 纹理,但失败了......
我在我的应用程序中得到了下一个结果:
结果不是我在等待。我想要下一个描述的视图:
源代码在这里:
c++ - 如何使用 stride 参数正确提交数据
我正在尝试渲染一些带有单个纹理的网格,结果很奇怪,可能是因为 UV 数据的步幅参数不正确。
我省略了 glGenBuffers 和绑定调用。
我以这种方式打包数据:
我设置数据:
我画它:
但结果在纹理级别似乎有点奇怪......
你会建议我如何将我的 UV 数据提交给着色器或如何以更实用的方式重新格式化?
c++ - 球体的 OpenGL UV 映射(有接缝)
尝试将 UV 坐标映射到球体时出现以下问题
这是我用来获取 UV 坐标的代码
这个问题在这个stackoverflow question中得到了很好的解释,虽然,我仍然不明白如何解决它。根据我一直在阅读的内容,我必须创建一对重复的顶点。有谁知道一些好的和有效的方法吗?
three.js - 如何在三个 JS 中的自定义非方形四边形上映射纹理
玩 ThreeJS,我遇到了一个非方形四边形纹理的经典问题: http ://www.xyzw.us/~cass/qcoord/
问题是 ThreeJS 只让你用 vec2 设置纹理坐标(据我所知..)在花了几个小时之后,终于找到了一个可行的解决方案,我想与社区分享它,也许会得到一些更好的想法? 所以这里是代码:
首先,使用三个 JS 制作我的 Quad 的 javascript:
现在自定义着色器代码:
顶点着色器:
和片段着色器:
瞧。我希望它可以帮助一些人,或者几年后我自己......;)
javascript - 三.js 生成UV坐标
我正在使用 THREE.js OBJ 加载器将模型导入场景。
我知道我可以很好地导入几何图形,因为当我为它分配一个 MeshNormalMaterial 时,它显示得很好。但是,如果我使用任何需要 UV 坐标的东西,它会给我错误:
我知道这是因为加载的 OBJ 没有 UV 坐标,但我想知道是否有任何方法可以生成所需的纹理坐标。我努力了
……但无济于事。
有什么方法可以使用three.js自动生成UV纹理,还是我必须自己分配坐标?
three.js - UV 在默认的 three.js planeGeometry 上从哪个角开始?
我正在编写一个变形器,它使用 UV 作为完成率来修改平面顶点的位置——因此,如果顶点的 UV 为 (.5,.5),则它位于平面的中心。
从(Three.js)自定义网格 UV 显示纹理链接的图像正确显示从左上角开始的 UV:
但是我的变形器似乎是垂直翻转的,除非我将 UV 视为从左下角开始。
OpenGL ES有不同的UV坐标?说 OpenGL UV 从左下角开始,http://answers.unity3d.com/questions/154324/how-do-uvs-work.html建议在 Unity 中也是如此。three.js 使用哪个?
额外的信用:我从正确的 UV 映射 Three.js中了解到答案在planeGeometry.js的某个地方——任何人都可以显示在哪里吗?
canvas - Three.js - changing collada texture works, but not with canvas
I am digging into Three.js and am experimenting with vrml, and now with collada files.
Importing a collada file works. It works with webGL AND canvas as a fallback : my 3D model rotates, shows the model… and in webGL i can even have that wonderful effects like shadows, bumps, etc.
I did achieve loading another texture file, assigning it to the webGL renderer… but in this particular case, the canvas renderer completely fails : frames drop from 60fps to 2fps, and the texture "slides" on the polygons.
I guess i miss something in order to "fix" the texture to the model, or when importing the texture maybe do i miss some parameters ? Once again it is working fine without changing the texture… but i really need to do so :p
Here is a working preview : http://dokmixer.com/three-tests/
And here is the part where the magic fails :
The part to look into is the first if statement (as i am testing canvas with Safari, before expanding to other canvas enabled devices). When assigning a new material, the renderer completely fails. You can test the effect by going to the page with Safari.
Note : i am working on OSX if that can be of any relevant information.
Any help appreciated :)
EDIT : i guess i'm setting here a new material, instead of replacing only the source image file ?