C91や、その他のこと
C91のこと
落ちた/(^o^)\
まあ、やれて体験版の予定だったので、ここは落ち着いて開発しましょ。くやしくない。
ダウンロード販売のこと
けっこう前の作品ですが、ぞろぞろぞふぃもDL販売始めました。パッケージ版よりちょい安めに設定してあります。
拍手返信
幻想四倍剣の1の方もDLサイトで販売してほしいです。
古い作品の公開は、気が向いたらするかもしれない程度の感じ。期待しないで。
進捗のこと
イラストと曲がぼちぼち仕上がりはじめて、いよいよプログラム側にターンが回ってきた感じ。
今回はドット絵などは仮置きのまま、先にデータ打ち込んでステージ組んでみたりしている。このやり方だと見栄えが悪いままなので、スクショを公開しづらいというのが難点な。
タイトルは、「Magic Scroll Tactics」になると思う。たぶんなる。なるんじゃないかな。まちょっとは覚悟しておけ。
(それにしてもアルファベットのタイトルは思いのほか考えるのに難儀した。)
【Unity】Spriteで高さフォグっぽいやつ
やること
Spriteで高さフォグっぽいものを実装する。ワールド座標で低いところにあるとフォグがかかるやつ。
Lightingビューのfog設定を反映させられれば完璧だったんだけど、よくわからんかったのでmaterialで色などを設定するような作りにした。
コード
Unity5.5.0b2。Sprites-Defaultシェーダに手を加えて作成した。
サンプル
before
after
これで天則の核融合炉心部的ステージが作れるって寸法よ。
【Unity】立ち絵の透明部分をトリミングする
やること
キャラクターの立ち絵画像で、左右に無駄な透明部分が生まれる場合がある。無駄なので、これを自動で処理するようなエディタ拡張スクリプトを作成する。
サンプル
UnityChanの立ち絵でやってみると、テクスチャの横幅が2524pxから1988pxになる。
なお、左側に透明領域が残っているのは、処理前後で画像中心軸が変わらないようにするため。
before
after
© Unity Technologies Japan/UCL
コード
Unity5.5.0b2
使い方
Resources/Dialogs
フォルダに画像ファイルを入れると、テクスチャをリサイズして左右の透明部分を削ってくれる。
使えないケース
- SpritePackerを使う場合はUnityが上手くやってくれるので不要。
- というか、そもそもSpriteだとテクスチャのリサイズ時に頂点が変なことになるので使えないっぽい。
- 画像作成時点でトリミングしてるなら不要。
- テクスチャサイズが変わるので、二べきにする必要のある圧縮形式は使えなくなる。
四倍剣^2ダウンロード版公開しました
最近の脱・メディア頒布な卒業する流れに乗っかるべく、四倍剣2のダウンロード版を用意しました。本日公開です。
サイトはメロンブックスDL、DLSite、DMMの3サイトでの取り扱いです。何ぞ都合の良いところでどぞ。なおDMMはR18ゾーンになるので青少年諸君は注意な。
【Unity】ARGB文字列をパースする
かゆいところ
Unity標準機能のColorUtility.TryParseHtmlString
を使うと、#RRGGBBAAで指定された文字列をColorにパースすることができる。
けど、世の中にはAARRGGBBもあるわけでして。
コード
Unity5.4.0p1
static public class ColorUtil { static public bool TryParseArgbString(string argb, out Color color) { if (ColorUtility.TryParseHtmlString(argb, out color)) { var a = color.r; color.r = color.g; color.g = color.b; color.b = color.a; color.a = a; return true; } return false; } }
αのないRGBを入れたら変なことになるんだけど、そこまで対応するなら自分で書いた方がよさげ。
public static Color32 ParseArgb(string argb) { var value = System.Convert.ToInt32(argb.TrimStart('#'), 16); var a = (value >> 24) & 0xff; var r = (value >> 16) & 0xff; var g = (value >> 8) & 0xff; var b = value & 0xff; return new Color32((byte)r, (byte)g, (byte)b, (byte)a); }
【Unity】 WebGL版の落とし穴
先日Tactics.YokoのWebGL版を公開したわけですが。その時ひっかかった点。
ThreadNinjaは動かない
マルチスレッド処理を行うのにThreadNinjaというアセットを使ってるんですが、これが例外を吐く。
なので↓のようにマルチスレッド処理をあきらめる。
public Coroutine StartCoroutineAsync(IEnumerator routine) { #if UNITY_WEBGL return StartCoroutine(routine); #else return CielaSpike.ThreadNinjaMonoBehaviourExtensions.StartCoroutineAsync(this, routine); #endif }
マルチスレッド処理はステージオブジェクトの構築やAIの思考とかに使っているので、そういう箇所で画面が固まるんだけど、どうしたもんかな。他のアセットだとうまくいくんだろうか。
普通のコルーチンで同じような負荷分散をやろうとするとドエライ大変なので、残念ながら妥協のしどころか。
CloudBuildは動かない
CloudBuildでビルドしたWebGL版がエラーを吐いたけどローカルでビルドすれば動いた。つらい。自前でやるしか。
これについては、Windows環境で開発してるとCloudBuild環境ではエラーになるケースがあるとかじゃないかな。知らんけど。
Logは動く
PlayerSettingsでDebug.Log出力をオミットでき……できねえ! ↓のコードで止める。
#if !UNITY_EDITOR void Start() { Debug.logger.logEnabled = false; } #endif
参考
C90のゲーム公開と、これからのこと
C90お疲れ様でした。
というわけで、頒布してた新作をWebでも公開します。
横スクロールでSRPGというやつです。プロトタイプ版なので絵は仮だし音はほとんぼ出ないけど、とりあえずこんな感じで動きますよ、的な。
ブラウザ版
Unity WebGL Player | Tactics.Yoko
技術検証的な目的もあって、ブラウザで動くバージョンも作りました。
ダウンロードめんどい、とか、UnityのWebGLビルドに興味がある人とか向け。
これから
というわけでTactics.Yokoの開発が本格的に始まります。
ゲーム内容は、まあ、がんばるのは当然として、今回は活動範囲を広げる感じで色々やってみようと企んでます。具体的にはスマホ版のリリースとか。この辺を自由にやれるのはオリジナルならではなので、欲張っていくスタイルでいきたいね。