2017-01-01から1年間の記事一覧
まあ、ごくたまになんですけど、Unityをバージョナップしたりアセットをインポートしなおしたときに、シリアライズされたデータがふっとぶ時があったんです。 けっこうショックがデカいんですよね。いろんなデータをそこに入れてたりすると。 こんなときバッ…
iOS10.3からレビュー依頼の方法が変わり、アプリ内で星を評価するダイアログが標準で用意されました。 なんでも、このダイアログを使わないレビュー依頼は リジェクト対象になる とか。 ということでUnityで作ったゲームでもこの機能を使いましょう。 Unity…
TextMeshProでテキストのアウトラインの太さを思ったとおりにするには、フォントアセット作成の時点から気をつける必要があります。 それは Font Asset Creator の Font Padding 設定です。 まず、フォントアセット作成時の、次の二つの画像を見比べてみてく…
Unity2017でスプライトパッキングの仕組みが刷新されました。 docs.unity3d.com 「今開発中のはスプライトパッカーで十分だし、まだいいかなー」などと思わず、すぐ移行すべきだと思います。 というのも、アセットストアで購入したスプライトにありがちな問…
UnityIAPを使っている場合、一度しか購入できない商品は NonConsumable として定義する。 が、テスト中は何回も買いたいので購入状態を戻す方法を調べていたのだが、どうも見つからなかった。 この関数 でクリアするのかなと思ったが、やっぱり購入しなおせ…
端末でのデバッグ中に、各種パラメータ値を書き換えられるデバッグ用シーンを入れてビルドしてテストしたりすると思いますが、リリースしたいときにBuild Settings からシーン外したりするの手間なので、メニューから一発でやる方法を考えました。
エディタ拡張書いたときに、プレハブの値を読むのは以下の記事の方法でできる。 indie-du.com 読んだ上で 書き換える には一工夫必要になる。
エディタウインドウを自作したときに、EditorGUILayout.ObjectField で受けたプレハブ情報を保存しておく場合の方法。
チュートリアルなどでボタンをクリックさせたいとき、下のようにボタンに拡大縮小のアニメーションを使ったりすると効果的です。 Unity標準の機能で実現できるので紹介します。
Textureからピクセルデータを取得したく、 Texture2D#GetPixels を使って以下のように読み出そうと試みた。
城っぽい背景のテクスチャアセットを探してたら、バッチコイのアセットに出会いました。 いざ配置しようとスプライトをチェックしたら、下のように小さいタイルの集合になっているではありませんか。 ※画像は盗用防止のため加工してあります。 元の画像は大…
ついこのあいだ無料化された TextMeshPro ですが、このアセットを使うにはフォントファイルからフォントテクスチャ(画像)として専用のテクスチャを作成する必要があります。 この際、必要な文字だけテクスチャに焼き込んで使う機能があり、そのぶんデータ…
例えば、敵を倒したタイミングで、プレイヤー、UI、他の敵が何らかのアクションを起こしたい場合、どのような経路でイベントを通知するか悩みます。 敵を各オブジェクトが監視したりするのは、参照が絡み合って管理がめんどうくさいです。 そこで便利なのがE…
こういったウインドウを見たことがあると思いますが、これは AnimationCurve 型のメンバ変数を持つことで、インスペクタから設定することができます。 AnimationCurve - Unity スクリプトリファレンス public class AnimationCurveForRandom : MonoBehaviour…
エディタウインドウ作成方法をよく忘れるのでメモ
フォントファイル(ttf, otf)をそのままアプリにブチ混むと、そこそこの容量になる。 あらかじめ使用する文字がわかっているなら、その文字だけインポートすることで大幅な容量の節約になります。
プロジェクトフォルダにあるPrefabから、Instantiate せずに各種コンポーネントを取得したかったメモ。
たとえばオッサンキャラとJKキャラには同じ「歩く」というアニメーションが必要ですが、実際に適用するアニメーションクリップは異なるでしょう。 *下は同じアニメーションを適用したオッサンとJK(?)の例 そんなとき AnimatorController を共通化しつつ…
共有データ保存になんとなく使っていた ScriptableObject について、いろいろ研究してみました。 そして、今までいろいろ間違った使い方をしていたことに気づきました。
概要 Unityの機能を使ったスプライトアニメーションでは、単純なものを作る場合でも余計なファイルができてしまう 単体でアニメーション可能なスクリプトを組んだ UniRx使用なので記述がシンプルに & Coroutine使わないので エディタ上で実行して確認可能
ヤッベエうっかり3Dプロジェクトで開発始めちゃったー、やっぱ2Dでやりたいわー、設定戻さねえとー。3Dのまま半分くらい開発進めちゃったー。 ってこと、あるよね? そんなとき、2Dと3Dの違いをしっかり把握しておけば、あわてずにいることができます。
UniRxの中に知る人ぞ知る(?) UniRx.Toolkit というネームスペースがあり、この中に ObjectPool というクラスが定義されています。 これは 使用済みのGameObjectをDestroyせずに保存(プール)しておき、後で使い回す ことでパフォーマンスに優しいプログ…
C#でプログラムを組む上で避けて通れないのが 継承 ですが、Unity特有のMonoBehaviourクラスの派生クラスを さらに継承 してクラスを作成することができます。 Start関数やUpdate関数をオーバーライド することで、基本処理を共通化することが可能です。
必殺技とか出す時にカットインあるとかっこいいですよね。 UnityのGUIシステムで実践してみました。
ゲーム内のテキストがデフォルトフォントだとがっかりしますよね。 クオリティの高いゲームを作るには、「ゲーム性」だけでなく細部にもこだわらねばならぬ。 ということで今回は、ネットでフォントを探してGUIに適用してみます。
ギャグ調の漫画やアニメで、一つのカットを別視点で何回も繰り返すっていう手法があると思うんですけど、あれがやりたかっただけ。
今回は、ファイルシステムに保存した画像を、コマ送り動画として表示させてみます。
今まで Google Play Games のログインはアセットストアのものを使っていたのですが、Google公式のプラグインに載せ替えたのでまとめ。
TextAssetというクラスを使うと、テキストファイルを扱えます。 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; public class TextSerializeTest : MonoBehaviour { // テキストファイルをメンバ変数に …
先日試したモニュメントバレーの件でもういっこ。 錯視で離れている場所がつながり、さも最初から道があったかのように移動できるギミックをためしました。 古くは無限回廊からある手法ですね。