このプロジェクトについて
Sprite Fusion Pixel Snapperは、ピクセルを完璧なグリッドにスナップするためのツールで、特にAIによって生成された乱雑で一貫性のないピクセルアートを修正するために設計されています。これは、ピクセルのサイズや位置の不一致、グリッド解像度のずれ、厳密なパレットに結び付けられていない色などの問題に対処します。このツールは、ピクセルが完璧なグリッドにスナップされることを保証し、スケーリング可能な一貫したグリッド解像度を維持し、カスタムパレットをサポートしながら色を厳密なパレットに量子化します。
これは、AI生成のピクセルアート、タイルマップやアイソメトリックマップなどのグリッドに適合しないプロシージャル2Dアート、そして完全にスケーラブルである必要がある2Dゲームアセットや3Dテクスチャに最適です。このツールは、ディザリングを含む可能な限り多くのディテールを保持します。
## 特徴
- **グリッドスナップ**: ピクセルが完璧なグリッドに整列されます。
- **一貫した解像度**: グリッド解像度は一貫しており、ピクセル解像度にスケーリングできます。
- **パレット量子化**: 色は厳密な量子化されたパレットに結び付けられます。カスタムパレットがサポートされています。
- **バッチ処理**: 画像のディレクトリ全体を処理できます。
- **CLIおよびWeb(WASM)**: コマンドラインツールおよびWebプロジェクトへの統合のためのWebAssemblyモジュールとして利用可能です。
- **デスクトップ版**: デスクトップアプリケーションとしても利用可能です。
## CLIの使用方法
Homebrewでインストール:
```bash
brew install Hugo-Dz/tap/spritefusion-pixel-snapper
```
またはCargoでインストール(Rustが必要):
```bash
cargo install spritefusion-pixel-snapper
```
使用方法:
```text
spritefusion-pixel-snapper <INPUT> <OUTPUT> [COLOR_COUNT] [OPTIONS]
```
- `<INPUT>`: PNG/JPEG画像、またはバッチ処理用のディレクトリ。
- `<OUTPUT>`: 出力PNG、またはバッチ用の別の出力ディレクトリ。
- `[COLOR_COUNT]`: パレットの色数。デフォルトは`16`。
- `--pixel-size <PIXELS>`: 自動検出されたピクセルサイズを上書きします。1以上、最小画像寸法の半分以下である必要があります。
- `--palette <HEX,...>`: 出力をカンマ区切りの6桁の16進色に制限します。
例:
```bash
# 画像を16色パレットに量子化
spritefusion-pixel-snapper input.png output.png 16
# ディレクトリをバッチ処理
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16
# 自動検出されたピクセルサイズを上書き
spritefusion-pixel-snapper input.png output.png --pixel-size 8
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 --pixel-size 8
# 固定カラーパレットを使用
spritefusion-pixel-snapper input.png output.png --palette "0d2b45,203c56,544e68,8d697a,d08159,ffaa5e,ffd4a3,ffecd6"
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs --palette "0d2b45,203c56,544e68,8d697a"
```
すべてのオプションを確認するには、`spritefusion-pixel-snapper --help`を実行してください。
## Web(WASM)の使用方法
WASMモジュールをビルド:
```bash
wasm-pack build --target web --out-dir pkg --release
```
次に、プロジェクトで使用します:
```js
import init, { process_image } from "./pkg/spritefusion_pixel_snapper.js";
await init();
// process_image(inputBytes, kColors?, pixelSizeOverride?, paletteHex?)
const outputBytes = process_image(inputBytes, 16);
// カスタムパレットを使用
const recoloredBytes = process_image(inputBytes, null, null, "0f0f1b,ffecd6,ff4d6d,29adff");
```
オプションの引数には`null`を渡すと、デフォルトの動作が使用されます。
## ソースからのビルド
```bash
git clone https://github.com/Hugo-Dz/spritefusion-pixel-snapper.git
cd spritefusion-pixel-snapper
cargo build --release
```
バイナリは`target/release/spritefusion-pixel-snapper`にあります。
## 謝辞
Pixel SnapperはSprite Fusionプロジェクトです。Sprite Fusionは、ゲーム開発用の本物のピクセルアートスプライトとアニメーションを生成するためのツールです。
## ライセンス
MITライセンス(Hugo Duprez)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.