エディタ拡張書いたときに、プレハブの値を読むのは以下の記事の方法でできる。 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 { // テキストファイルをメンバ変数に …
先日試したモニュメントバレーの件でもういっこ。 錯視で離れている場所がつながり、さも最初から道があったかのように移動できるギミックをためしました。 古くは無限回廊からある手法ですね。
UnityはLibraryディレクトリがないプロジェクトをPCビルド設定で開きます。 あまつさえアセットのインポートまでしてしまうため、「Android用のプロジェクトなのにー!」とハンカチーフを噛みながらプログレスバーをじっと見つめるという状況がたまにありま…
地形を作ろうとしたときに真っ先に思い浮かぶのはTerrainですが、致命的な難点として重いということが挙げられます。 下は適当に高さだけ作ったテラインですが、 下のようにかなり描画コストのかかるオブジェクトになっています。 こんなとき、テラインをメ…
UnityにはLODという機能があります。 カメラからの距離が離れたら、描画する3Dモデルを簡素なものに変えることで、遠くのオブジェクトの描画コストを減らすというコンポーネントです。 docs.unity3d.com しかしこの機能を使うためには、あらかじめ頂点数が違…
バージョンアップがあったようなので5.5.1リリースノートを見てたら。 Allow using Xcode's manual signing workflow by specifying a provisioning profile in Player Settings. ほほう、プロビジョニングプロファイルをPlayerSettingsから指定できるように…
最近 モニュメントバレー [iOS, Android] という錯視パズルゲームを遊んでまして、 おしゃれでよくできてるなあと感嘆しておりました。 で、錯視もさることながら、プレイヤーの姫が重力に逆らい垂直に壁を歩いていったりするのです。 今回はそれをどうにか…