You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lithtech引擎中通过UV数据求解纹理方向向量P和Q?

求解Tron 2.0(Lithtech引擎)纹理映射中的P、Q向量问题

我正在对电子游戏《Tron 2.0》的关卡文件做逆向工程,目前卡在纹理映射环节——需要从已知的三角形顶点位置与UV数据,反推用于计算UV的两个向量P和Q。以下是具体问题说明:

示例数据

已知三角形ABC的顶点位置与UV数据如下:

A.position = (64.0, 0.0, 0.0)
B.position = (61.2172813, 18.6666679, 0.0)
C.position = (43.2871819, 18.6666679, 43.2871284)

A.uv = (0.5, 0.0)
B.uv = (0.478260010, 0.0)
C.uv = (0.338181108, 0.338180691)

UV的计算公式为:

Vertex.uv.u = P.Dot(Vertex.position) / Texture.width
Vertex.uv.v = Q.Dot(Vertex.position) / Texture.height

其中P、Q是描述纹理方向的向量(可视为切线/副切线,无需与法线正交),本例中已知正确的P、Q与纹理尺寸:

P = (1.0, 0.0, 0.0)
Q = (0.0, 0.0, 1.0)
Texture.width = 128, Texture.height = 128

核心问题

当P和Q的值未知时,如何从顶点位置与UV数据反推出这两个向量?

关键约束

  • P和Q的方向不固定
  • P和Q可能与三角形法线正交,也可能不正交
  • 三个顶点共面,且使用同一组P、Q值
  • 顶点坐标分量不总是为0

我已经尝试过Eric Lengyel的方法及其变体、多种重心法,但均未成功,欢迎任何可行的解法思路。

内容的提问来源于stack exchange,提问作者KainXavier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:10:04