我正在创建一个小游戏,您在迷宫中。迷宫是在组织2D Array
,描述x and z position
和block type
。就是这样Tile- based
。可以说每个街区都是1 m³
。现在我的角色是 2m 高,迷宫应该是 4m
高。因此,如果该瓷砖上有墙,我会在彼此之间添加4个块。当然100 * 100
,即使使用,这在米/瓦迷宫中也是巨大的性能影响Viewfrustum- and backface culling
。因为这是我的第一个3D游戏,所以我想使其保持简单,并且我不想使用高级剔除技术(八叉树或其他:P)。因此,我尝试创建1*4*1
块而不是1*1*1
将其添加Walls
到我的世界中。效果不错,性能再次达到完美(60
FPS),但是Texture (64*64px)
被拉长了,看起来真的很丑。
所以我的问题是:
编辑:
我发现,Texture
有TextureWrap
模式。我将其设置为TextureWrap.Repeat
,但无法在UV
上设置Texture
。如果您要创建a
Sprite
以外的项目,则Texture
可以轻松地将它们设置为4,以重复Texture
4次。但我不能添加Sprite
到我的Model
,只有Texture
s为可能的。有没有办法重复这些Texture
?
将纹理应用于模型的方式取决于模型中每个顶点的UV值。
如果考虑立方体的一个平面-它是由4个顶点组成的矩形。如果顶点的UV值像::(0,0), (1,0), (1,1), (0,1)
那么整个纹理将在整个平面上渲染一次(如现在一样)。
您需要将某些UV值更改为4而不是1-您应该使用类似方法(0,0), (1,0), (1,4), (0,4)
-这样,您的纹理将重复4次。
不幸的是,我不知道如何更改Libgdx中的UV,也许其他人会在这里提供帮助。
编辑评论中的问题:
您知道渲染的每个顶点都有自己的3D位置矢量,该矢量由x,y,z
组件组成。这表示3D空间中的位置。
如果要添加纹理,则需要告诉顶点在纹理的哪个点。您可以定义一些2D向量来表示纹理中的一个点(您也可以使用3D纹理,但现在让我们继续使用2D示例)。
您也可以命名您的纹理矢量分量x,y
,但是为了避免与位置数据混淆,有人决定将它们称为它们u,v
(在数学中,经常这样做,即使您存储相同类型的数据,也使得某些方程式更易于阅读和理解。理解)。这些向量称为texture coordinates
或UVs
简称。
现在,想象一下您的纹理在您的面前,它的一个角在(0,0)
,相反的在在(1,1)
。取一个三角形的3个顶点,对于每个顶点,取其UV,并在纹理上标记该点。然后,当您连接所有三个点时,您将获得与渲染相同的三角形。
但是,如果您的UV成分之一大于1
或小于0
?为了简单起见,我们可以说GPU将采用相同的纹理并在原始纹理之后复制它(它不能完全以这种方式工作,但结果是相同的)。这回答了有关4
数字的问题-
如果我们使用纹理坐标,(1,4)
就意味着我们要从原点移动4 * textureHeight,这样您的纹理将重复4次。
我认为目前您应该找到一种将UV添加到顶点的方法,并对此进行一些试验。尝试将0、0.1、1、10等设置为纹理坐标,然后看它能给您带来什么。这样,您应该对UV的工作原理有一些基本的了解。
我有一个简单的场景,包括一个带有月亮漫反射和凹凸纹理的球体模型,烘焙到一个“.GLTF”文件中我使用GLTFJSX导入了模型,但只显示了模型。我打开了灯,但这似乎并没有解决问题。我把同样的模型放在另一个场景中,纹理加载得很好。 问题沙箱:https://codesandbox.io/s/patient-framework-3holn?file=/src/App.js
我只需要从4个相关表的查找中获取详细信息。我查看了文档,我可以从两个表中获取数据,但不能从其他表中获取数据。我有一个课程表,在那里我只显示相关的导师id行。这个很好用。我有一个与FK课程id上的课程表相关的课程学生表。从这个课程学生表中,我有一个链接到另一个表的字段。 课程表(fk tutor_id,但没有学生id)tutors表(链接到具有tutor_id的课程表)LESSIONS_学生表(链接
我们是一家小型初创企业,大约两个月前开始。我们使用Stripe作为主要支付处理器,同时使用PayPal作为次要选项。 我们的计划是每月订阅,每月从$ 5到$ 25不等。我们的付款表单当前收集用户的姓名,CC,到期日期和CVC安全代码。 第一个月后,我们开始注意到用户的定期付款在 Stripe 上开始失败。我们不知道为什么会发生这种情况。如果第一笔付款成功,为什么未来的订阅付款会失败?到目前为止,我
我有一个页面模板,它应用于我的wordpress页面上的特定页面。通常,对于我的所有其他脚本,我将它们放在我的footer.php中,然后从那里漂亮地加载。在这个特定的页面上,我想加载一个脚本,这个脚本应该只在这个页面上运行。因此,在我的模板中,我将其包括如下内容: 不幸的是,在执行此操作时,我只会遇到如下错误: 未捕获类型错误:$(…)。任何不是函数的 WordPress中是否有一些方法只在特定
我创建了一个类来保存我的模型信息。我必须正确渲染模型并正确包装纹理,但是由于某种原因,如果我有多个模型,它会将我所有的模型纹理化为仅1个纹理,正如您在这张图片中看到的:http://imgur.com/d0glIwF 知道为什么会这样吗? 这是我的代码: 提前谢谢你。
这是我的密码: 我已经安装了Python3(MacOSX),并将其与virtualenv一起使用。这段代码在2.7中运行良好,但在python3中不起作用。5.它总是给出