Questions tagged «textures»

纹理映射过程中使用的位图(光栅图像)。

2
由于或尽管有大量图像,我是否应该使用Spritesheets?
我正在开发2D游戏,并且我有很多精灵。我使用3D动画和模型将其渲染为2D,从而使它们看起来像“ Fallout”或“ Diablo”。比手工绘制还容易,哈哈。 我已经不得不将帧速率降低到15fps,这是我可以降低的最低帧速率,而又不会使它们看上去不连贯。但是,由于24帧的平滑度令人难以置信,这令人感到悲伤。 我这样做的原因有两个: 1)减少硬盘空间。图片越少,我的整体游戏就越小。 2)减少RAM消耗。加载的图像越少,我越有可能避免导致RAM限制过大的问题。 但是,如果有一种方法可以压缩HDD空间和RAM中的图像,我会这样做。我之前已经对其进行过测试,从RGBA8888到RGBA5555的赠品在质量上几乎没有任何变化,而在TexturePacker程序中转换为RGBA4444时仅受到了一点打击。我目前不这样做,因为SFML似乎使用相同数量的内存,而不管它是哪种类型的.PNG图像。我研究了如何以不同的方式加载它,但是未能找到关于该主题的任何内容。 我已经阅读了很多有关如何处理2D视频游戏的内容。共识是压倒性的:将您的Sprite打包成更大的纹理以获得出色的性能!因此,我使用TexturePacker将微小的Sprite打包到更大的Spritesheet中。 但是,我计划每个角色有10-15个动画,移动5个方向,每个动画15-40帧(平均24个)。具有15个动画,5个方向,每个动画平均24帧;即每个字符1800个单独的帧。如果装在一张精灵纸中,则只能显示75张图像。(每个动画每个方向一个精灵表。15* 5) 对于游戏中一个巨大的老板角色,我不能使用Spritesheet,而必须编程一种仅一次加载一张图像的方法。我不知道我是否可以这样做以提高性能。 对于角色,我已经将它们打包在一张spritesheet中。对于单个角色来说,这似乎在大多数时间都有效,尽管有时会停顿。但是,我将其归因于我构思错误的代码,该代码交换了纹理,而不是预加载该角色的所有纹理。 如果我要预加载纹理,则对于精灵表来说是有意义的。我只能想象为每个角色预加载1800个小图像是一个坏主意。 但是,我想一次将它们流式传输到内存中是非常快的,所以我只需要一次在内存中有一个图像。这是否意味着在任何给定时刻我只会让每个字符消耗几个KB而不是45 + MB? 我想这会破坏我的性能,因为流传输必须非常快(每秒15张图像进出内存和渲染,每秒),尽管这些图像非常小-加载字符Spritesheets可能是一个更好的主意进入内存。但是无论如何,我将不得不为我的大老板角色编写一个类似于单图像流的渲染系统。 我一直在尝试,但这不是一个简单的过程。特别是考虑到我正在研究游戏引擎的其他部分,而这些部分现在还不处理图形。

1
如何减小图像尺寸而无像素化?
我看到很多游戏都具有平滑的边缘字符和高分辨率图像,但是当我尝试将图像缩小为我的角色说64x64时,我只会遇到像素混乱。即使从64x64画布开始,我也会得到像素化的边缘。 我应该使用OpenGL缩放吗?还是我不知道的某些与photoshop或pixen有关的技术?


7
最佳(最流行?)纹理化图像格式[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 好的,所以我将C ++与OpenGL一起使用,并且我将创建一个加载器以为3D游戏加载纹理。(但是纹理是2D的)。我决定选择透明度,即使我决定不使用它。我需要像样的质量,尽管不一定要一流。你们对格式有什么建议(PNG,TGA等)。另外,也许可以使其易于创建装载程序(我将不使用已经创建的装载程序)。而且,如果您有任何链接/提示来帮助加载程序,那将不胜感激。
13 c++  opengl  textures 

1
如何渲染部分透明的纹理?
早安StackOverflow,我现在遇到了一个问题,因为我似乎找不到使用openGL透明渲染纹理的一部分的方法。 这是我的设置:我有一个四边形,代表一堵墙,上面覆盖了此纹理(已转换为PNG以进行上传)。显然,除了玻璃板之外,我希望墙是不透明的。墙后还有另一架飞机应该显示风景。我想从窗户后面看风景。每个纹理都是带有Alpha通道的TGA。 首先渲染“风景”,然后渲染墙。我认为足以达到这种效果,但事实并非如此。窗口应该是透明的部分是黑色的,只有当我经过墙壁时才会出现风景。 启用该功能后,我尝试使用GLBlendFunc()摆弄,但似乎无法解决问题。 我是否忘记了重要的一步? 谢谢 :)

5
从源图像生成纹理地图集/子画面的工具?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 是否有用于纹理图集的行业标准文件格式? 有哪些应用程序可以获取图像目录并将其转换为纹理图集png和描述其内容的文本文件? 这主要是用于OpenGL iPhone / Objective-C,但似乎应该在许多平台上都有一个标准。我可以手动创建这些内容,也可以编写脚本以简单地将它们平铺,但是似乎已经为此制作了一些工具。

3
如何创建自己的天空图?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 用云和大气阴影生成逼真的天空有哪些方法/工具? FOSS替代方案和球形投影可获得额外的积分。

4
如何处理2D游戏中的任意大图像?
题 当您拥有使用非常大图像(大于硬件可以支持的图像)的2D游戏时,该怎么办?也许对这个问题有一些有趣的解决方案,这在我之前从未发生过。 我基本上是在从事某种图形冒险游戏的制作。我的目标受众是几乎没有游戏开发(和编程)经验的人。如果您使用的是这样的应用程序,是不是更希望它在内部处理问题而不是告诉您“拆分图像”? 语境 众所周知,图形卡对其可使用的纹理大小施加了一组限制。例如,使用XNA时,取决于您选择的配置文件,最大纹理大小被限制为2048或4096像素。 通常,在2D游戏中这不会带来太大问题,因为大多数游戏都具有可以由较小的单个块(例如,图块或变形的精灵)构建的关卡。 但是,请考虑一些经典的点按式图形冒险游戏(例如Monkey Island)。图形冒险游戏中的房间通常是整体设计的,很少或没有可重复的部分,就像画家在风景上一样。或像《最终幻想7》这样的游戏使用了大型的预渲染背景。 这些房间中的一些可能会变得很大,经常跨越三个或更多屏幕宽度。现在,如果我们在现代高清游戏的背景下考虑这些背景,它们将很容易超过最大支持的纹理大小。 现在,解决此问题的明显方法是将背景分成适合需求的较小部分,并排绘制。但是,您(或您的艺术家)是否应该成为拆分所有纹理的人? 如果您使用的是高级API,它是否应该准备好应对这种情况并在内部进行纹理的拆分和组装(作为XNA的内容管道等预处理程序或在运行时进行)? 编辑 从XNA实现的角度来看,这就是我的想法。 我的2D引擎只需要Texture2D功能的很小一部分。我实际上可以将其简化为以下接口: public interface ITexture { int Height { get; } int Width { get; } void Draw(SpriteBatch spriteBatch, Vector2 position, Rectangle? source, Color color, float rotation, Vector2 origin, Vector2 scale, SpriteEffects effects, float layerDepth); } 我使用的唯一依赖Texture2D的外部方法是SpriteBatch.Draw(),因此我可以通过添加扩展方法在它们之间建立桥梁: public …
13 xna  c#  2d  graphics  textures 

1
最佳纹理大小是多少?
我最近在我的项目中添加了一个纹理打包器,该打包器会将一定数量的纹理打包到单个纹理中,如下所示: 因此,举例来说,这个尺寸为582x1023像素。添加这些压缩纹理的目的显然是为了提高性能,因此我想为OpenGL(使用LWJGL)纹理查找最佳纹理大小。我发现的事情,一个得到广泛支持的最大纹理尺寸似乎是1024×1024,根据此为一例。这让我感到奇怪,因为显然很多纹理本身都比这更大,那么这些发生了什么呢?我很确定大多数显卡都支持更大的纹理。我是否可以合理地期望大多数图形卡能够处理4096x4096纹理(或什至更大)? 第二点(我希望这仍然是一个问题,但本质上可以归结为同一问题):纹理的大小应设置为2的幂(256x256、512x512、1024x1024、2048x2048等),并且应该我将小于其的填充纹理填充到下一个2的幂?根据2011年的这个问题,这不是必须的,但可以提高性能并避免出现小错误,而2012年的这个问题说您绝对应该填充纹理。因此,我意识到这些问题以前曾被问过,但它们的日期合理,答案已经更改,而且它们每个都只能部分回答我的问题。其他项目/如何处理? TL; DR:大多数图形卡可以处理哪种纹理大小?最佳纹理大小是多少(或存在)?我应该将纹理宽度填充到下一个2的幂吗?

4
Unity 5的玻璃材料
有人知道如何在Unity 5中制作玻璃材料吗? 我可以做金属和图像纹理,但不确定如何创建玻璃材料。 在Google上进行搜索不会为我带来Unity 5的任何好处,因此它必须非常容易做到。 用于淋浴门和平面玻璃,如下所示:

1
如何停止Substance的运行时纹理缓存?
如果您关闭缓存,一次修改一个公开的变量,频繁地对其进行修改,甚至只有在尝试对其进行2或3次修改之后,Substance Engine的过程纹理似乎就会非常快速地更新。 但是,我基本上希望相反。例如,单位有一个“血”变量,在受到伤害时会在身上产生不同的血液;还有一个“战役”变量,会产生划痕和凹痕,但在恢复时不会恢复原状。 因此,要强制不缓存变量,我必须将其设置为某个虚拟值,然后恢复为正常值,然后调用RebuildTexturesImmediately。 我该如何告诉Substance在运行时不要缓存变量,所以我可以更改一次并快速重新生成纹理?

2
在libgdx中重复纹理
如何用重复纹理填充区域?现在,我正在使用下一个方法: spriteBatch.begin(); final int tWidth = texture.getWidth(); final int tHeight = texture.getHeight(); for (int i = 0; i < regionWidth / tWidth; i++) { for (int k = 0; k < regionHeight / tHeight; k++) { spriteBatch.draw(texture, i*tWidth, k); } } spriteBatch.end(); 很明显 也许有任何内置方法?

1
2D艺术资产(例如子画面)如何工作?
我对游戏有一个想法,并计划使用Windows Phone 7的XNA开发2D游戏。 今天,我从徒手绘制一些我希望某些角色看起来像的概念艺术开始。现在的问题是采用这些概念并将其以数字形式呈现。 我首先意识到我真的不了解游戏艺术的不同部分。我知道有精灵,纹理和动画,但仅此而已。我认为纹理是3D对象上的精灵,但不确定是否正确?以下是有关游戏美术的一些一般性问题: 您是否在2D游戏中使用纹理? 您在哪里应用游戏美术的不同部分?例如,当您使用精灵与动画时。 精灵,纹理动画和其他艺术品之间有什么区别? 精灵,纹理和动画是游戏的唯一艺术元素吗? 游戏中所有的2D艺术都被视为精灵吗?字符,背景等 您将精灵表和精灵表中的每个字符制作成什么尺寸? 有什么好的书籍或教程可以教您如何从数字前景中绘画艺术?我当时在考虑获取《 GIMP圣经》,但是像这样的大多数书都比数字绘画教授更多的照片编辑。 我的目标是学习如何使用Gimp将概念艺术(背景和角色)转化为数字形式,并了解游戏艺术的不同部分。 无论如何,感谢任何可以提供帮助的人。

5
我如何开始为3D游戏制作纹理?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 6年前关闭。 只是想知道在哪里可以找到有关制作3D游戏纹理的良好教程? 此外,通常是拍摄照片并将其转换为游戏纹理还是设计师自己绘制纹理? 更新: 为了使情况更加具体,我尝试制作一个简单的游戏,其中游戏角色位于一栋小建筑物中,因此我将为计算机,桌子,椅子,门,窗户,墙壁等制作纹理。建筑物基本上无关紧要。尽管我正在考虑使用Blender,但我没有3D建模方面的经验。
12 3d  textures  art 

5
边缘上的Skybox纹理伪像
我在Mac上绘制Skybox纹理时遇到奇怪的问题。在iPhone上,一切正常。我尝试更改近端和远端的值没有成功。 它是一个包含六个纹理的天空盒,对于每个纹理,我都设置为: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 可能是什么问题呢? 屏幕截图: 编辑: 我尝试将背景色设置为红色,以确保其是否通过纹理渗出 我还尝试将纹理的坐标更改为: float err_corr = 0.5 / TEXTURE_SIZE; GLfloat vertices[24] = { -1.0f - err_corr, -1.0f - err_corr, 1.0f + err_corr, 1.0f + err_corr, -1.0f - err_corr, 1.0f + err_corr, -1.0f - err_corr, …
12 opengl  textures  macos  sky 

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.