いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU

C#

Unity : プレハブの値をエディタスクリプトから変更・保存する

エディタ拡張書いたときに、プレハブの値を読むのは以下の記事の方法でできる。 indie-du.com 読んだ上で 書き換える には一工夫必要になる。

Unity : 自作エディタウインドウにプレハブを擬似シリアライズ

エディタウインドウを自作したときに、EditorGUILayout.ObjectField で受けたプレハブ情報を保存しておく場合の方法。

Unity : グローバルなイベント通知の仕組み(EventBus)を自前実装する [C#]

例えば、敵を倒したタイミングで、プレイヤー、UI、他の敵が何らかのアクションを起こしたい場合、どのような経路でイベントを通知するか悩みます。 敵を各オブジェクトが監視したりするのは、参照が絡み合って管理がめんどうくさいです。 そこで便利なのがE…

Unity : ゲーム性を持たせるAnimationCurveの小技3選

こういったウインドウを見たことがあると思いますが、これは AnimationCurve 型のメンバ変数を持つことで、インスペクタから設定することができます。 Unity - スクリプトリファレンス: AnimationCurve public class AnimationCurveForRandom : MonoBehaviou…

Unityエディタウインドウを自作する

エディタウインドウ作成方法をよく忘れるのでメモ

Unity : プレハブに保存した値を Instantiate せずに直接読む

プロジェクトフォルダにあるPrefabから、Instantiate せずに各種コンポーネントを取得したかったメモ。

Unity : ScriptableObject解体新書(?)

共有データ保存になんとなく使っていた ScriptableObject について、いろいろ研究してみました。 そして、今までいろいろ間違った使い方をしていたことに気づきました。

UniRx付属のObjectPoolが割とガチで使える件

UniRxの中に知る人ぞ知る(?) UniRx.Toolkit というネームスペースがあり、この中に ObjectPool というクラスが定義されています。 これは 使用済みのGameObjectをDestroyせずに保存(プール)しておき、後で使い回す ことでパフォーマンスに優しいプログ…

MonoBehaviour のメソッドをオーバーライドする [Unity , C#]

C#でプログラムを組む上で避けて通れないのが 継承 ですが、Unity特有のMonoBehaviourクラスの派生クラスを さらに継承 してクラスを作成することができます。 Start関数やUpdate関数をオーバーライド することで、基本処理を共通化することが可能です。

Unity : 連番画像を動画として表示する

今回は、ファイルシステムに保存した画像を、コマ送り動画として表示させてみます。

Unity : テキストファイルをメンバ変数として扱う [C#]

TextAssetというクラスを使うと、テキストファイルを扱えます。 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; public class TextSerializeTest : MonoBehaviour { // テキストファイルをメンバ変数に …

Unity : 錯視での瞬間移動を表現する

先日試したモニュメントバレーの件でもういっこ。 錯視で離れている場所がつながり、さも最初から道があったかのように移動できるギミックをためしました。 古くは無限回廊からある手法ですね。

Unity:重力に逆らい、球面にそって垂直に歩かせてみる

最近 モニュメントバレー [iOS, Android] という錯視パズルゲームを遊んでまして、 おしゃれでよくできてるなあと感嘆しておりました。 で、錯視もさることながら、プレイヤーの姫が重力に逆らい垂直に壁を歩いていったりするのです。 今回はそれをどうにか…

UnityでiOSのNotification:ローカル通知編

モバイルに通知機能あれど取り組む暇はなし。 その中でも導入が比較的に簡単な、iOSのローカル通知の使い方をまとめました。

知らないと損する! Unityで使えるC#の配列リスト型4種類

各種データをまとまりで保存しておく場合、まっさきに思いつくのが配列ですが、Unityでは(というか.NETでは)用途別に便利な型を使うことができます。

UniRxでアドベンチャーゲームのテキスト表示を実装

最近UniRxにハマっていまして、今回はアドベンチャーゲームなど汎用的に使えるテキストシステムをUniRxで書いてみました。 以下のような動作になります。 かなり"それっぽく"見えるでしょう。

あのゲームを雑に再現する:アングリーバード

先駆者をリスペクトしつつありがたくパクらせて 教材とさせていただく企画第二弾。 今回はアングリーバードを再現します。

AndroidプラグインからUnityの関数を呼び出す - UnitySendMessage

以前の記事でAndroidのプラグインの関数を呼び出す方法を書きました。 逆にAndroidからUnityのメソッドを呼び出したい場合、もう一手間必要となります。

記事一覧・プログラム、スクリプト

Unityプログラムtips Invoke , Coroutine , SendMessage で文字列を使わない方法 - いんでぃーづ Unity : コライダのOnCollisionEnter, OnTriggerEnter が呼ばれない、反応しない - いんでぃーづ Unity : レイヤーマスク値のつくりかた - いんでぃーづ Unity…

C#のEnumのtips

System.Enum クラス のメソッドを使うことで、いろいろ便利なことができます。

Unity : ロード済みシーンの切り替えを一定時間待つ

普通にシーンをロードしてしまうと、完了した瞬間に新しいシーンに切り替わってしまいます。 たとえば、バックグランドでシーンをロードしつつ、少なくとも1秒以上はなにかしら画像を表示したい、というとき 今回紹介するテクニックを使ってみてください。

Unity : モバイル画面の方向を固定、あるいは変化を検出

Android, iPhoneなどで動かす場合には、端末の方向を考慮してGUIなどを構成する必要があります。 その場合、あらかじめ向きを固定してしまうか、画面の回転を検出して補正を行いましょう。

Unity : モバイルでのスワイプ、ドラッグ入力量を補正する

モバイル向けに作っていると割と困るのが、Input.touchesで取得した入力位置です。 これは Screen.width, Screen.height の大きさに依存するので、解像度が違う端末でのインタラクションがまちまちになってしまいます。 例えば解像度 1920x1080 の端末で1セ…

Unity : ログ機能を便利に使う

デバッグ用にログ出したい! ってときに、 Debug.Log(“これはログです"); で済ませてませんか? Unityのログ機能を使いこなして便利に開発を進めましょう!

Unity : Enum型をシリアライズ保存するときのコツ

Enum型使ってますか? 変数の状態を直感的に記述できていいですよね。

Unity : ScriptableObjectを書き出すウインドウを自作してみた

ScriptableObjectについて書いたのですが、いまいち使いづらいところがあります。 なによりなんとかしてほしいのは、作り方がめんどくさいこと! ということで、ScriptableObjectを出力してくれるスクリプトを自作しました。

Unity : 不変データはScriptableObject を使って管理するとドヤ顔できるかもしれない

目次 ScriptableObjectを作成する ScriptableObject のデータを設定する データを書き換えられないようにスクリプトを修正する 敵の攻撃力や防御力など、「ゲーム全体で共通かつ不変」なデータを持たせたい場合は数多くあります。 そんな時つい、やってしま…

Unity : NavMeshAgentで、これから通る経路を描画する

ゲームの効果として、キャラクターがこれから通る道を線で描画してみるなど。 経路の描画で使用するのはLineRendererです。

UnityでJSONを扱う [C#]

最近はJSONを扱うためのクラスが用意されてるんですよねー JSON文字列からデータを取得する場合 1. データを用意する 今回はWebサーバからJSONを取得してみます。 http://hogehogehoge/hoge.json というアドレスから以下のようなJSONが取得できるとします。

Unity : 意図的にWarningを残したい

ソースには問題ないんだけど後でちょっと直したい、という時、忘れないように"TODO"としてコメントに書き残したりしますが、それをUnityのコンソールに出すようにすればさらに忘れにくくなります。 C#のみ対応です。 #warning output warning Unityのコンソ…

Unity : C#のファイルが大きくなりすぎるのを防ぐには

開発を進めていくうちに、一つのファイルの行数が肥大化していくのは経験したことがあるとおもいます。 そんなときにC#でクラスを複数ファイルに分割して記述する方法があります。

Amazon.co.jpアソシエイト