読者です 読者をやめる 読者になる 読者になる

さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

IchiPixelでプレゼンしたこと

というわけで、さる3月24日、IchiPixelというゲーム開発者飲み会で、開発中ゲームのプレゼンをさせてもらった。 飲み会の場で他人と会話して情報交換して……みたいなコミュが苦手なフレンズは、もはや、マイクを手に入れてアナウンスするしか道は無いのである…

【Unity】ETC1(Split alpha channel)形式テクスチャをUIに使う

やること Android環境において、アルファつきテクスチャ画像をETC1(Split alpha channel)形式でインポートし、UIで使う。その手順について。 手順 テクスチャインポート設定 SpritePacker有効時のみ有効なので、PackingTagを設定。 FormatをRGB Compressed…

【Unity】パーリンノイズで陽炎っぽいエフェクト

パーリンノイズによる陽炎めいたやつ pic.twitter.com/uUDwLtQ03E— enu (@_enu) 2017年3月1日 コード for Unity5.5.2f1 gist.github.com 必要ファイル パーリンノイズのコードは↓から。 github.com

【Unity】ダメージっぽい数字表示

Unity5.5.1p4 数字 pic.twitter.com/20R8Ictytm— enu (@_enu) 2017年2月18日 コード BaseMeshEffectを継承して作る。Shadowコンポーネント等と一緒にアタッチすると変になったりするけど、処理順の問題なので、コンポーネントの順番を入れ替えれば良い。 gis…

【Unity】Z書き込みアリのSpriteシェーダ

UnityのSpriteシェーダはデフォルトだとZバッファに書き込みを行わない。 そこでデフォルトシェーダを改造し、Zバッファに書き込むシェーダを作成する。その手順。 Unityは5.5.1p3。 手順 1.デフォルトのシェーダを取得 Unityのサイトからビルトインシェーダ…

【Unity】水面エフェクト2D

やることはいたってシンプル。画面下半分に上半分を反転コピーするだけ。それっぽく見せるために色変えたりサインカーブつけたりすれば効果的だけど、その辺はデザインに依る。 水面エフェクト© UTJ/UCL pic.twitter.com/PXgovJxh90— enu (@_enu) 2017年1月2…

【Unity】色分解しながら画面ゆらすエフェクト

色分解しながら画面ゆらし pic.twitter.com/gtrFTXjZGk— enu (@_enu) 2017年1月16日 コード gist.github.com 色収差とでも言いたいところだけど、別にレンズ特性の再現とかやってるわけではなくてマジにRGBごとにゆらしてるだけなので。

やること2017

あけましてた。 MSTリリース いま開発中のやつ。 上半期を目標。ただ完成したら即リリースするかっていうとそうでもなくて、ある程度外的要因によって前後するかも。…いや、早くなることはないか。イベント合わせにするとかでズレる。まあそれでも上半期中に…

ゲームの紹介ページにOGPを設定すること

ページを作ったら moetoku.sakura.ne.jp ゲームの紹介ページなんかを作ったら、TwitterとかブログにURLを張る。 そのとき、ブログカード形式でリンクが表示されればいいよね。ということで、表示されるようにする。 OGP設定する htmlにメタデータを埋め込ん…

【Unity】CloudBuildでうまくいかない場合対応

概要 以下の条件において、UnityCloudBuildでビルドしたものが上手く動かない場合の対応方法。 条件 windows環境で開発していて Resourcesフォルダ下のファイル名に濁点/半濁点がある 上記の条件をみたすとき、Resources.Load, Resources.LoadAsyncに失敗し…

【Unity】複数個所から安全にTime.scaleを操作する

あかんパターン たとえば一時停止処理などでTime.scaleに0fを入れて時間を止め、なんやかんやした後に1fを入れて戻す処理を書くとする。 この時、なんやかんやしてる内部でTime.scaleに1fを入れてしまうと、勝手に時間が動き出してしまいマズイ。 やること …

【Unity】Resources.LoadAsyncするけどパス指定したくない

やること ロード処理においてResources.LoadAsyncを使いたい。が、いちいちパス指定するのが嫌、という場合のための仕組みをつくる。 コード gist.github.com 使い方 アセットのクラスごとに継承したクラスを作る。 using UnityEngine; using System.Collect…

【Unity】ResourceLoaderクラス

やること Resources.LoadAsync<T>を処理する便利クラスをつくる。 これによって、たとえば、Resources.LoadAsync<T>はせっかくジェネリックメソッドなのに、assetを取り出すときにはキャストが必要、とかの煩雑さを解決する。 コード gist.github.com 使い方 newし</t></t>…

拍手返信

幻想四倍剣2 悔悟棒の謎はフルスクリーンじゃないと起動できないのでしょうか? 起動時画面のwindowedチェックボックスをオンにすることで、ウィンドウモードで起動することができます。

C91や、その他のこと

C91のこと 落ちた/(^o^)\ まあ、やれて体験版の予定だったので、ここは落ち着いて開発しましょ。くやしくない。 ダウンロード販売のこと けっこう前の作品ですが、ぞろぞろぞふぃもDL販売始めました。パッケージ版よりちょい安めに設定してあります。 www.…

【Unity】Spriteで高さフォグっぽいやつ

やること Spriteで高さフォグっぽいものを実装する。ワールド座標で低いところにあるとフォグがかかるやつ。 Lightingビューのfog設定を反映させられれば完璧だったんだけど、よくわからんかったのでmaterialで色などを設定するような作りにした。 コード Un…

【Unity】立ち絵の透明部分をトリミングする

やること キャラクターの立ち絵画像で、左右に無駄な透明部分が生まれる場合がある。無駄なので、これを自動で処理するようなエディタ拡張スクリプトを作成する。 サンプル UnityChanの立ち絵でやってみると、テクスチャの横幅が2524pxから1988pxになる。 な…

四倍剣^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 …

【Unity】 WebGL版の落とし穴

先日Tactics.YokoのWebGL版を公開したわけですが。その時ひっかかった点。 ThreadNinjaは動かない マルチスレッド処理を行うのにThreadNinjaというアセットを使ってるんですが、これが例外を吐く。 なので↓のようにマルチスレッド処理をあきらめる。 public …

C90のゲーム公開と、これからのこと

C90お疲れ様でした。 というわけで、頒布してた新作をWebでも公開します。 Tactics.Yoko(kari)ダウンロード 横スクロールでSRPGというやつです。プロトタイプ版なので絵は仮だし音はほとんぼ出ないけど、とりあえずこんな感じで動きますよ、的な。 ブラウザ…

C90のこと

あと一週間どころの話ではないですが、コミケ参加します。 スペースは2日目西d51b オートリ電子で。 出し物 例大祭作品 今年5月の例大祭で出したやつ持っていきます。幻想四倍剣2。1000円。 例大祭に行かなかった人も行ったけど買わなかった人も買った人もど…

【Unity】Perspectiveカメラで2D画面の多重スクロール

横スクロール2Dゲームのステージで、背景がスクロールしたときちょっとずつズレるみたいなのを実装する。 素直にスクロール値を計算して毎フレーム位置を動かして……、とかやっても全く問題ないんだけど、まあ、とくに支障がないならカメラの機能だけでやって…

【Unity】 SystemInfoをコンソールに出力するエディタ拡張

SystemInfoのプロパティを全取得して一覧する。 gist.github.com

【Unity】文字がふるえるエフェクト

海外のゲームで見る(きがする)文字がふるえるエフェクト pic.twitter.com/eKUTVS1ux3— enu (@_enu) July 5, 2016 こんな感じ。 一文字一文字をGameObjectにして座標をいじって……なんてやってられないので、いくつか問題があるもののBaseMeshEffectを継承し…

四倍剣^2パッチ1.03公開

しました。ダウンロード 修正内容 禁呪詠唱を連続で使用したときに効果が消えるのを修正 コマンドウィンドウがスクロールできるときにスクロールバーを表示するよう修正

四倍剣^2パッチ1.02公開

しました。 ここからダウンロードできます。 修正内容 ユニットウィンドウがクリックを阻害しないよう修正 ステータスウィンドウの向こうのにあるマスを選択できないやつの修正です 詠唱メッセージの自動送り/手動送りを設定画面で切り替えられるよう修正 と…

紹介ページ兼オンラインマニュアル作成しました

幻想四倍剣^2 悔悟棒の謎 オンラインマニュアル というわけでこんな感じ。 締め切り前の修羅場で取説つくるのはキツいナー、と毎回思ってたので、今回は細かい説明をオンラインマニュアルに放り投げて、入稿後に後付けで作れるようにしたのだった。 意外と疲…

【Unity】 カスタムコルーチンでこのコールバックからの卒業

Unity5.3からカスタムコルーチンを使えるぞ!これで何ができるの?いろんな条件で処理を止められるぞ ……という他に、コルーチンの戻り値を受け取るのにコールバックを使ってる部分をマシにできたりする。 普通のコルーチンメソッドで書くとこんな感じなのを …

例大祭のこと

い32aで出ます。 修羅場はもうちょい続く。

Unity Matrix4x4で連立方程式を解く

// 四点を通る三次関数を得る static public void CalculateCubicFunctionBy4Points( float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) { var matrix = new Matrix4x4(); matrix[0, 0] = x1 * x1 * x1; matrix[0, 1] = x1 …

徐々に消えるライト

やること 爆発エフェクトなんかを作るとき、オブジェクトにライトを持たせる場合がある。 このとき、普通にエフェクトオブジェクトにライトコンポーネントを持たせただけだと、オブジェクトがDestroyされた瞬間にライトもパッと消えてしまう。余韻をもってじ…

【Unity】MultiModeなSpriteの参照を取得し直す

問題 MultiModeなSpriteの参照をGameObjectだかScriptableObjectが持っているとき。 画像の変更か何かがあってSliceし直すと、Spriteへの参照がMissingになる。これをなんとかする。 理屈 Spriteが生成し直されるのはどうしようもない(多分)ので、Texture…

進捗っぽいの

イェイ pic.twitter.com/WMQ6RCOtx6— enu (@_enu) 2016, 2月 8 フトチャン pic.twitter.com/8w1lgW8ftD— enu (@_enu) 2016, 2月 10 息抜きにマントシェーダ。ただしこのままでは副作用があるので、使えるものにするにはあと二手間ぐらい要る。メンドいぜよ。 pic.…

【Unity】範囲指定可能なブラーエフェクト

そもそも、2Dベースなら真面目に被写界深度エフェクトをやることもないよね! というわけで、範囲指定ができるブラーエフェクトを作った。 理屈 ImageEffectのDepthOfFieldエフェクトは深度バッファを参照してブラー範囲を決めることでピンボケを表現してい…

【Unity】Orthographicカメラで被写界深度エフェクトを使う

Sprite+Orthographicカメラという極北で被写界深度エフェクトテスト pic.twitter.com/4VAVI4N5sj— enu (@_enu) 2016, 1月 30 やること ImageEffectに含まれるDepthOfFieldエフェクト。 これはperspectiveカメラで使うことを前提にしており、orthographicカメ…

進捗

ドット絵作業進めた。 今週もドット絵すすめる。

非同期シーン追加ロード、からの復帰

やること RPGのフィールドで敵に遭遇 -> ブワッ -> バトル -> フィールドに戻る、みたいな流れを作るためのシーンロード処理。 具体的にやるべきなのは ブワッとなってる間にバトルシーンを読み込む(非同期ロード) バトルが終わったらフィールドに処理を戻…

やること2016

あけました。というわけで今年やること。 上半期 四倍剣2リリース 例大祭(5/8)あわせで開発中。 まあなるようになれ。 下半期 開発環境はUnityでしばらくやるので、その辺は安定期。冒険しない。 具体的な話はいっこも無いんだけど、次はアイデア勝負で面…

Preferredサイズに上限を設定する

やること たとえば文章を表示するウィンドウを作った時。 文章が短いうちは文章に合わせてウィンドウが大きくなる。 ある一定サイズ以上にはウィンドウは大きくならず、文章は改行されて表示される みたいな機能をつくる。 イッテイサイズイジョウデカイギョ…

C89の体験版公開します

というわけで、↓からダウンロードしてみてくらはい。 ダウンロード 例大祭で完成版リリース予定。たぶん完成する。完成するんじゃないかな。

C89のこと

二日目水曜日西へ12a オートリ電子で出ます 出し物はまたも体験版で申し訳ないんですが、開発中のゲームの体験版です。 前回よりは完成版がイメージできる形になってる、はず。 無料配布、あとでwebでも公開します。 開発中のつぶやき ヤケクソ加算合成 pic.…

進捗

title gamen logo ha tabun sonouti tukuri naosu

ビルボード

ふつうのビルボード 3Dカメラに対して常にSpriteが正面を向くようにする gist.github.com 鉛直なやつ Spriteが鉛直に立っている状態を保ちつつ、カメラの方を向くようにする [DisallowMultipleComponent] [ExecuteInEditMode] [RequireComponent(typeof(Rend…

ScrollRect.OverScrollを取得する

ElasticやUnrestrictedなScrollRectで、はみ出したスクロール量を取得する処理。 なんで前回normalizedPositionでガタガタ言ってたかというと、これがやりたかったからなんだよね。結局使わなかったが。 Vector2 GetOverScrollRanges(ScrollRect scrollRect)…

ScrollRectの罠!

UnityUIのScrollRect.normalizedPositionの変な挙動について。確認したUnityのバージョンは5.3。 なお、中身は return new Vector2(horizontalNormalizedPosition, verticalNormalizedPosition); なだけなので、厳密にはhorizontalNormnalizedPosition, vert…

進捗

引き続きドット絵作業が続く。ぶっちゃけペース的にはトテモオソイ。 まああれだ、できるところまでがんばるぞい。

進捗

ぼちぼちと冬の体験版にむけてドット絵をそろえてるところ。 pic.twitter.com/CflR54FTrA— enu@C89二日目西へ12a (@_enu) 2015, 11月 16 あとは寄り道して個人的に使うWebアプリっぽいの作ってたりしたので、ゲームの進捗あまりよくなく。

進捗

ステージ作成作業。 なんだか飽きて効率落ちてきたので、ドット絵つくることにする。

C89予定

二日目西へ12a「オートリ電子」で出ます。 出し物は、すみません、完成版を間に合わせるのはだいぶ厳しいので、SRPG体験版になります。 完成は来年例大祭予定。