标签: texturepacker

LibGDX的带有gradle的TexturePacker

我正在尝试创建一个gradle任务,根据此处的说明运行TexturePacker .(请注意,我使用的是Android Studio及其目录结构而不是Eclipse.)我首先将以下内容添加到Android Studio项目中build.gradle:

import com.badlogic.gdx.tools.texturepacker.TexturePacker
task texturePacker << {
  if (project.ext.has('texturePacker')) {
    logger.info "Calling TexturePacker: "+texturePacker
    TexturePacker.process(texturePacker[0], texturePacker[1], texturePacker[2])
  }
}
Run Code Online (Sandbox Code Playgroud)

这给出了错误

无法解析类com.badlogic.gdx.tools.texturepacker.TexturePacker

texturePacker任务移动到build.gradle桌面项目中会产生相同的错误.根据http://www.reddit.com/r/libgdx/comments/2fx3vf/could_not_find_or_load_main_class_texturepacker2/,我还需要在桌面项目的依赖项下添加compile "com.badlogicgames.gdx:gdx-tools:$gdxVersion"到根目录build.gradle.当我这样做时,我仍然得到同样的错误.

所以我有几个问题:

  1. 这个texturePacker任务的正确位置在哪里?其中build.gradle我把这个?

  2. 如何解决依赖性问题和unable to resolve class...错误?

  3. 使用gradle运行时,如何指定输入和输出目录以及atlas文件?(假设前两个问题已经解决了.)

android libgdx texturepacker

7
推荐指数
1
解决办法
1727
查看次数

使用Libgdx和TexturePacker与xxxdpi图像失真

我是一个Android开发人员,使用LibGDX构建我的第一个游戏.阅读A LOT后,还有一件事我不明白.

我意识到我应该拥有一组图像,最高分辨率为2560x1440(用于防止丑陋的放大而不是矢量图像).

我正在使用TexturePacker打包我的图像,甚至使用线性线性来获得最高质量:

TexturePacker.Settings settings = new TexturePacker.Settings();
settings.filterMin = Texture.TextureFilter.Linear;
settings.filterMag = Texture.TextureFilter.Linear;
settings.maxWidth = 4096;
settings.maxHeight = 2048;
TexturePacker.process(settings, inputDir, outputDir, packFileName);
Run Code Online (Sandbox Code Playgroud)

我按照几个SO的建议将我的相机设置为固定的仪表并避免所有的PPM.来自Screen的C'TOR:

mCamera = new OrthographicCamera();
mCamera.viewportWidth = 25.6f; ; // 2560 / 100
mCamera.viewportHeight = 14.4f ; // 1440 / 100
mCamera.position.set(mCamera.viewportWidth / 2, mCamera.viewportHeight / 2, 0f);
mCamera.update();
Run Code Online (Sandbox Code Playgroud)

如你所见,我选择使用1米= 100像素.

现在,这意味着我应该用1/100大小绘制我的精灵,我在这里做:

TextureAtlas atlas = new TextureAtlas(Gdx.files.internal("images/pack.atlas"));
mImage = atlas.createSprite("image"));
mImage.setSize(mImage.getWidth() / 100 , mImage.getHeight() / 100);
Run Code Online (Sandbox Code Playgroud)

这有效,图像按预期显示.但是,他们被歪曲了!一个完美的圆形图像看起来像边缘像素化而不是圆形.

所以,我的问题是:

  1. 这是最佳做法还是应该以不同的方式工作?
  2. 我是否只有最高质量的图像?
  3. 失真意味着我的代码真的缩小了精灵,不知何故libgdx再次缩放它并损坏了质量?

谢谢!

编辑
我要适应@ …

sprite orthographic libgdx texturepacker texture-atlas

7
推荐指数
1
解决办法
255
查看次数

纹理包装器不会运行

我在这里下载了纹理打包器https://code.google.com/p/libgdx-texturepacker-gui/downloads/detail?name=gdx-texturepacker-3.2.0.zip&can=2&q=

当我运行.jar文件时,它甚至会在显示gui之前关闭.是否有人遇到过类似的问题?我正在运行OSX El Capitan.

libgdx texturepacker

6
推荐指数
1
解决办法
1859
查看次数

无法使用带有stripwhitespace选项的libGDX纹理包装器打包分辨率800x800的图像?

我有3-4张尺寸为800x800像素的图像.当我尝试使用gdx-texturepacker.jar创建.pack文件时,如果我打开条带空白X和Y选项,则无法打包并抛出错误[错误]发生异常:包装文件时出错.但如果我删除选项条空白(我真的需要),它会创建包但不服务精灵表的目的.

对于小分辨率图像,一切正常.使用stripwhitespace选项有任何大小限制吗?

任何帮助s赞赏和任何建议的其他免费纹理包装工具有利于libgdx资产.

android libgdx texturepacker texture-atlas

5
推荐指数
1
解决办法
1673
查看次数

如何在 ThreeJS 中加载Texturepacker spritesheets?

我正在尝试从 ThreeJS 中的 Texturepacker 加载 spritesheet,其中包含图像和 json。该图像有一堆小精灵打包在一起,json 定义了图像中小精灵的位置和大小。

我尝试了3种加载方法。

  • 对 json 和图像使用 ThreeJS 加载器,并分配具有不同重复和偏移值的新纹理。
  • 使用 WebGLRenderTarget 缓冲区将源图像裁剪为
  • 使用 Canvas 缓冲区将源图像裁剪为

使用具有不同偏移量的多个纹理实例的方法应该可以正常工作,因为我没有复制源图像,但是当我通过切换材质的纹理来运行动画时,它会使用大量的 RAM,就好像它将整个源精灵表复制到内存中一样为每一个。如果我更改动画的纹理偏移而不是使用纹理副本,它可以正常工作,但偏移更改将应用​​于使用相同源精灵表的每个对象。

WebGLRenderTarget 方法需要一个相机和场景来裁剪纹理以及添加到场景中的精灵。此输出无法使用,因为它不会生成原始纹理的 1:1 裁剪,而且加载速度非常慢。有没有办法在 ThreeJS 中将纹理 1:1 渲染到较小的缓冲区?

Canvas 方法效果最好,我为每个精灵创建一个画布元素,并将精灵表裁剪到每个精灵中。这是 1:1 且质量良好,但使用 spritesheet 的要点是 GPU 仅需要处理单个图像,并且这需要 HTML 加载程序。理想情况下,我不想将精灵表裁剪为较小的纹理缓冲区。

为什么将相同的大源图像与多个 THREE.Texture 对象一起使用会占用如此多的内存?我预计它只需要在内存中保留单个纹理,并且纹理对象只会显示具有不同偏移量的相同纹理。

three.js texturepacker

5
推荐指数
1
解决办法
1301
查看次数

从texturepacker的纹理在LibGDX

尝试在(令人敬畏的)LibGDX框架中了解纹理包装,我需要帮助.

我想绑定一个纹理(根据网格,颜色和纹理),该纹理是从TexturePacker打包的TextureAtlas中提取的.纹理绑定到矩形网格.

我希望纹理(纹理的实例)基本上从打包文件中提取.

是否可以使用createsprite或findregion方法并以某种方式跳过文件句柄步骤?

另外:将上述方法与AssetManager结合使用时,应该记住哪些特殊内容?

谢谢你把我排除在外!

java android textures libgdx texturepacker

4
推荐指数
1
解决办法
7132
查看次数

将 PVR.CCZ 图像转换为 PNG 以编辑图像。

我需要将 PVR.CCZ 图像文件转换为 PNG 图像来编辑我的图像文件。m 原始图像被删除。我使用纹理打包程序来创建 pvr 文件。

我参考此链接:-如何从 .pvr.ccz 文件恢复 PNG 图像? 但没有用。

cocos2d-iphone texturepacker

4
推荐指数
1
解决办法
7862
查看次数

LibGDX 9 补丁图像不适用于 TextButtonStyle 和 TextureAtlas

我正在尝试使用 LibGDX 创建一个简单的游戏。我正在尝试使用 9 个补丁图像作为菜单上按钮的背景,但是似乎忽略了图像的 9 个补丁质量。

我有两个图像,“active.9.png”和“rest.9.png”。这些是代表按钮处于活动或静止状态的方形图像。我使用这个工具来创建它们:http : //romannurik.github.io/AndroidAssetStudio/nine-patches.html所以我确信它们满足 9 个补丁要求。下面是“active.9.png”的图片:

在此处输入图片说明

因为我正在使用 LibGDX 并且会有很多资产我想使用 TextureAtlas 来存储我的按钮图像。运行 TexturePacker 后,事情似乎仍然有效,因为图像已定义“拆分”,我认为这表明它们已被识别为 9 个补丁文件。下面是“buttons.pack”:

buttons.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
active
  rotate: false
  xy: 1, 1
  size: 226, 225
  split: 59, 57, 58, 58
  orig: 226, 225
  offset: 0, 0
  index: -1
rest
  rotate: false
  xy: 229, 1
  size: 226, 225
  split: 59, 57, 58, 58
  orig: 226, 225
  offset: 0, 0
  index: -1
Run Code Online (Sandbox Code Playgroud)

接下来我尝试从这个包创建一个 TextureAtlas,创建一个皮肤,并将图像加载到皮肤中。

    TextureAtlas buttonAtlas = new …
Run Code Online (Sandbox Code Playgroud)

android skin libgdx texturepacker

3
推荐指数
1
解决办法
1772
查看次数