问题标签 [texturepacker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
26 浏览

cocos2d-iphone - CCSprite 上出现奇怪的人工制品

我有一个 CCLayer 类导入到游戏层奇怪的是所有精灵都有“伪影”,因为我检查并重新导出了所有文件,这些伪影似乎不知从何而来

是某些设置或其他可能导致这种情况发生的事情吗?

我是新手,但到目前为止我已经检查过:设置为 PixelFormat_RGBA8888 PVRImagesHavePremultipliedAlpha:YES png 从人工制品中清晰可见(28 位透明)纹理是用带有“预乘”的纹理打包器制作的

背景是 CCLayer 矿井是 CCLayer 两者都作为“addChild”添加到游戏层(cclayer 也是)

在此处输入图像描述

0 投票
1 回答
562 浏览

java - 像素化纹理过滤失真

我在 Libgdx 中创建了一个基于等距图块的游戏。我使用的纹理是 64x64 并使用 TexturePacker 打包到 TextureAtlas 中。然后将它们绘制到屏幕上。然而,在 64x64 纹理的像素化边缘移动时,它们会闪烁并且扭曲,如下图所示。我已经使用了 texturepacker 中可用的所有过滤器,您可以在下面看到线性和最近过滤器的结果。除了闪烁之外,线性滤镜还为纹理添加了黑色轮廓。如果不是因为相机移动时闪烁,我会很好。

瓷砖应该如何显示:

游戏外的瓷砖

线性过滤(可以清楚地看到黑线扭曲):

在此处输入图像描述

最近的过滤(更难看到,但像素化线不直):

在此处输入图像描述

最容易发现它的地方是棕色立方体的顶部和底部。根据相机的移动,失真发生在不同的地方(这会导致闪烁)。

有谁知道是什么原因造成的,或者有可能的解决方案吗?我不确定是否需要任何代码片段。

还值得一提的是,相机设置为 windowHeight/ppm (ppm = 64) 和 windowWidth/ppm,然后将纹理绘制到投影矩阵设置为 camera.combined 的批次上。

编辑:以某种方式将窗口高度从 800 降低到 710(最近)会更好: 降低高度

0 投票
1 回答
46 浏览

unity3d - 如何创建一个带有 texturepackerimporter 纹理的按钮?

我可以将预制件纹理拖到场景中。但我不知道如何使用这个纹理创建一个 ui 按钮。

0 投票
2 回答
4155 浏览

cmd - Texture Packer 命令行多个图像

我在命令行中使用 TexturePacker,无法将多个精灵打包到一张纸上。它允许我做 1 个精灵,所以命令很好。

这是我正在使用的命令。

"TexturePacker --format sparrow --texture-format atf --opt DXT5 --max-width 2048 --max-height 2048 --size-constraints POT --pack-mode Best --enable-rotation --trim-mode修剪 --algorithm MaxRects --multipack --border-padding 5 --shape-padding 5 --reduce-border-artifacts --scale " + sheetInfo.scale + " --data " + imageOutputDirectory + "\" + lanfPrefix + "\" + sheetInfo.name + ".xml" + "--sheet" + imageOutputDirectory + "\" + lanfPrefix + "\" + sheetInfo.name + ".atf image1.png image2.png";

任何想法为什么这不起作用?根据文档,它应该可以工作。

0 投票
1 回答
1045 浏览

java - LibGDX - 从一个大的 TextureRegion 加载一个 TiledMap 瓦片集

我目前正在使用 LibGDX 开发游戏,我遇到了以下情况:

  1. 游戏TiledMap中的每个级别都使用地图。我创建了一个大图块集并将其打包成一个 ~1300x1300 PNG 文件(非 POT)。瓷砖是 128x128 + 排水沟。
  2. 场景是使用OrthogonalTiledMapRenderer. 实际上它是对内置的稍微修改OrthogonalTiledMapRenderer,它没有将相机投影设置为SpriteBatch渲染器,导致每个循环额外刷新:

    /li>
  3. 在开始渲染 tiledMap 之前,我绘制了其他几个对象(敌人、物品、活动元素)。必须这样,因为地图的所有单元格上都没有瓷砖,我希望这些对象隐藏在一些瓷砖下。所有这些对象共享相同的相机投影,因此我SpriteBatch在要渲染这些对象时启动,并在启动地图渲染器时将其保持打开状态。所有这些对象目前都被打包成一个大小约为 1000x1000 的纹理,但它由许多小对象组成,因此它们可以包裹在瓦片集的区域周围(阅读下文)。事情是这样的:

    /li>

现在,事情很清楚了:我的计划是将所有内容打包成一个二次幂纹理(到可承受的 2048x2048 大小),包括TiledMap瓦片集和对象表,所以我使用单个纹理,我可以最小化批量刷新到 GPU。问题是我找不到TiledMap使用外部加载 a 的方法SpriteRegion,甚至没有使用AtlasTmxTiledMapLoader.

谁能指出我正确的方向?有没有办法将TiledMap传递的 aTextureRegion作为图块集加载,而不是创建一个新的、无法访问的Texture,并且必须为地图刷新一次,然后再为其余的精灵刷新一次?

0 投票
1 回答
2157 浏览

android - 带有 gradle 的 LibGDX 的 TexturePacker

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

这给出了错误

无法解析 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 文件?(假设前两个问题已解决。)

0 投票
1 回答
112 浏览

android - 如何在画布上绘制按某个值旋转的位图的一部分

我正在尝试绘制由纹理打包器创建的精灵(一个大位图,其中包含每个精灵的宽度、高度、位置、纹理矩形等信息)目前尚不清楚如何绘制精灵以防它应该旋转 90 度。我尝试旋转画布但没有成功(精灵没有出现在正确的位置)

这就是我绘制常规(未旋转)精灵的方式:

使用旋转的精灵我旋转画布

并以与常规(未旋转)精灵相同的方式绘制精灵。但它出现在错误的位置。

有人可以帮助解决这个问题吗?

0 投票
1 回答
378 浏览

ios - SpriteKit 启动时低 fps 和高 cpu 使用率

我正在尝试使用从纹理打包器生成的 SpriteKit 和 atlas 文件制作一些动画,但是当我启动场景时,动画在前 10 秒的 fps(1-5 fps)非常低,CPU 使用率约为 90-100%。之后一切顺利,关于如何解决相同问题的任何想法。内存使用量约为 55 MB。

0 投票
2 回答
1534 浏览

android - LibGDX 纹理出血问题

我是 LibGDX 的新手,正在尝试实现视差背景。一切都很顺利,直到我遇到这样的问题:滚动背景时出现一些条纹。您可以在附图中看到它:

纹理出血

所以我更深入地研究了一个问题,并发现这是某种纹理出血。但情况是我的纹理已经有 [Linear, Nearest] 过滤器集并且 TexturePacker 使用duplicatePadding. 实际上,我不知道任何其他方法可以解决此问题。请帮忙!

这是我的一些代码:

纹理打包器

资产加载器

背景抽屉

注意:我现在不使用任何相机进行绘图。我只使用FitViewport大小为1920x1280. 此外,即使在 FullHD 分辨率下,有时也会出现出血。

更新:Nearest通过增加和禁用抗锯齿解决问题,将两个过滤器设置为缩小和放大paddingX,但最终图像变得太丑了!有没有办法避免禁用抗锯齿?因为没有它,低档看起来很糟糕。

0 投票
1 回答
74 浏览

xcode - Xcode错误调用-display没有效果

最近我将我的 Xcode 更新到 7,在此之前我没有任何问题,但我目前遇到问题,当我将 Sprite 表设置为裁剪时,我的 Sprite 表没有从纹理打包器中正确修剪,保持定位。我试过改变精灵的 z 位置。我已经搜索了几天来解决这个问题,但没有任何效果。有人可以帮我解决这个问题。