Subscribed unsubscribe Subscribe Subscribe

TexturePackerのフリーライセンスを申請した

自分のブログのURLを書く欄があるんだけど、それが自分のだと証明するためにコード(TP:A1EC9A8E)をどっか見えるところに置いてくれって書いてあったので。ついでになんで使ってるかというと、

  1. sketchtoolでスライス書き出し -> 2. onion_ringで9patch -> 3. TexturePackerでTextureAtlas作る -> 4. Unity上で2, 3の情報を持たせる

ということをするために使っている。c.f. http://qiita.com/kyubuns/items/cb01f926966b51a5501c


Tools/sketchimport

#!/bin/sh

ROOT=$(dirname $0)/..

sketchtool export layers $ROOT/Sketches/Dark.sketch --output=$ROOT/Images/Export

# 9patch
find $ROOT/Images/Export/UI -depth 1 -type f | grep ".9.png" | $ROOT/Tools/9patch > $ROOT/Assets/Images/UI_border.txt

# pack
TexturePacker --max-size 2048 --opt RGBA4444 --format unity-texture2d --sheet Assets/Images/UI.png --data Assets/Images/UI.tpsheet Images/Export/UI

Tools/9patch

#!/usr/bin/env bundle exec ruby

require_relative "../Deps/onion_ring/onion_ring.rb"

borders = []
ARGF.each do |before|
  before = File.expand_path(before.chomp)
  name = File.basename(before).gsub(".png", "")
  borders << [name, OnionRing::run(before, before)]
end

borders_text = borders.map { |line| line.flatten.join(',') }.join("\n")
STDOUT.puts borders_text

# vim:set ft=ruby:

みたいなのを書いといて、Tools/sketchimport 実行するやつと http://qiita.com/kyubuns/items/cb01f926966b51a5501c の AtlasBorderSetter.cs をEditor以下置いて、TexturePacker ImporterってのをAsset Storeからインポートおく。そうすると.sketchいじった後はUnity開いたら上手いことなっている。