Articles of 纹理图集

纹理图案在团结

我正在研究新的方法来优化游戏以获得更好的性能。 目前我正在进行纹理图纹处理,这给我一个很难的时间。 我使用Texture2D.PackTextures制作了地图集,并将偏移量,高度和宽度值保存到文本文件中。 现在,当我将值插入到材质中时,纹理显示正确,但由于批处理需要使用相同的材​​质 – 我如何使用具有不同偏移的相同材质? 图片:所有的立方体使用相同的纹理。 只有右边的两个批次,因为他们使用相同的材​​料。

使用具有128×128拼贴的纹理图集,我如何在Unity3D中使用它?

所以我有一个工作纹理地图集,有贴砖128×128。 但是,我不能完全弄清楚如何使用它们。 我知道这可能有些事情要做 TileRenderer.material.SetTextureScale("_MainTex", new Vector2(0.25f, 0.25f)); TileRenderer.material.SetTextureOffset("_MainTex", new Vector2(0 * 0.25f,0)); 但我不知道该从哪里拿到。 任何人可以提供一些建议? 图像的大小是1024×128,如果有帮助,我认为这可能。

如何从纹理图集中抓取纹理以应用于3D对象

这是一个相当基本的问题,但是我很难为初学者find关于这类信息的信息。 我只是试图以不同质地的立方体作为起点。 我已经下载了与“我的世界”类似的“无限”多维数据集引擎的源代码(这个名字叫做TechCraft)。 我只是很难find纹理实际应用的位置,以及它们如何被抓取以及什么时候和等等。 这是我目前使用的代码: public void Draw(GameTime gameTime, bool underWater) { BoundingFrustum viewFrustrum = new BoundingFrustum(Game.Camera.View * Game.Camera.Projection); _game.GraphicsDevice.RasterizerState = RasterizerState.CullCounterClockwise; _game.GraphicsDevice.DepthStencilState = DepthStencilState.Default; _game.GraphicsDevice.BlendState = BlendState.Opaque; _solidBlockEffect.Parameters["World"].SetValue(Matrix.Identity); _solidBlockEffect.Parameters["View"].SetValue(Game.Camera.View); _solidBlockEffect.Parameters["Projection"].SetValue(Game.Camera.Projection); _solidBlockEffect.Parameters["CameraPosition"].SetValue(Game.Camera.Position); _solidBlockEffect.Parameters["AmbientColor"].SetValue(Color.White.ToVector4()); _solidBlockEffect.Parameters["AmbientIntensity"].SetValue(0.8f); _solidBlockEffect.Parameters["FogColor"].SetValue(Color.SkyBlue.ToVector4()); _solidBlockEffect.Parameters["FogNear"].SetValue(WorldSettings.FOGNEAR); _solidBlockEffect.Parameters["FogFar"].SetValue(WorldSettings.FOGFAR); _solidBlockEffect.Parameters["BlockTexture"].SetValue(_textureAtlas); foreach (EffectPass pass in _solidBlockEffect.CurrentTechnique.Passes) { pass.Apply(); for (int x=0;x<REGIONRATIOWIDTH;x++) { for (int y=0;y<REGIONRATIOHEIGHT;y++) { for (int […]

如何手动制作.pack文件,如TexturePacker(不使用TexturePacker)?

我正在使用libGDX,显然创建UI的唯一方法是使用纹理包。 我会说,因为纹理包只不过是JSON或XML文件和一个大的PNG,我可以手动编码纹理包。 怎么样?

Unity中纹理图纹的问题

我有下面的纹理,我需要从它的矩形部分。 我最终可以将不同的四边形网格结合起来以提高性能,但是我用四边形的不同的平面,这意味着不同的材料,然后组合网格将失败。 任何人都可以告诉我如何在C#中的一部分纹理? 这样所有的四边形都将是相同的材料,只有合并网格才能通过。 提前致谢。

如何在基于iOS版本的纹理地图集之间切换?

如何在基于运行时iOS版本的Unity中的图集之间切换(使用不同的分辨率)?

如何优化SpriteBatch的使用?

据我所知,SpriteBatch的目的是将许多绘制操作批量发送到GPU。 每个批处理可以同时处理一个纹理,并且更改SpriteBatch上下文/纹理的开销很大,所以当您需要在一个帧中绘制多个不同的纹理时,您可以使用纹理图集,将最有可能由同一个组件绘制的精灵在同一页面。 所以我的问题是: 假设有很多组件使用相同的纹理页面,我该如何将它们组合在一起并发布它们的绘图方法? 什么是处理使用来自两个不同纹理页面的精灵的组件的有效方法? 我应该为每个纹理页面处理两种不同的绘图方法吗? 或者可能将上下文纹理页面作为参数,只绘制与之相关的内容? 那么dynamic生成的纹理呢? 如果您不知道某个组件需要哪个纹理页,该怎么办? (例如,一个自定义的视觉设备,你不可能把所有的装备都放在同一个纹理页面上,因为可能有成千上万的em,而且只能在运行时确定) 我已经看过很多关于SpriteBatches如何在技术上工作的文章,但是对于如何最好地利用它们没有任何意义。 一个好的解决scheme是以某种方式排队我的绘制操作按纹理sorting? 如果是这样的话,那么通过什么方式来实现呢?