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

いんでぃーづ

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

MENU

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

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

Unity : uGUIのImageなどのタップイベントを検出

ButtonコンポーネントにはデフォルトでClickイベント検出機能がありますが、Imageとかはどうやって検出するのか。

Unity : プロジェクトに埋もれたアセットを一瞬で探し出す方法

スクリプトやらプレハブやらが増えてくると、プロジェクトから探し出すだけで一苦労になったりします。 今回はそんなときに迷わずにすむ、ナイスな機能をご紹介。

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

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

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

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

Unity : PropertyDrawerで変更した変数の保存

前回まででインスペクタに独自UIの入力フォームができました。 入力した値は保存しなければなりません。じゃなきゃ、なんのために苦労して描画したんだって話です。

Unity : Property Drawer の OnGUIの書き方

前回でインスペクタに独自UIを描画する準備が整いました。 今回はOnGUIの記法について書いていきます。

Unity : インスペクタで独自UIを使う - PropertyDrawer の下準備

エディター拡張してますか? 最近思うんですよ。エディタ拡張を自分で書くのは大事だなって。 拡張とか敷居高いなあと思ってたんですが、ゲーム開発って自作ツールが結構重要だとひしひし感じています。 拡張ってどうやるの Unityで覚えておきたい拡張方法が…

Unity5.4キタ! 表現力向上がパない!?

つい先日5.4がリリースされました。みなさんもうインストールしましたか? ワタシはベータからやってます。 まだ尻込みしてるあなたに向けて、変更点の要約を送ります。

Unity : 不要なアセットを削除して、プロジェクトをスリムに保とう

先日 Unity5.4 が正式にリリースされ、さっそく導入した方も多いとおもいます。 その場合、もちろん既存プロジェクトを再インポートすることになると思いますが、使っているアセットが多いとむちゃくちゃ時間がかかりますよね。 モデルやテクスチャのアセッ…

Unity : Androidプラグインを作る一番簡単な方法

AndroidやiPhoneの通知機能やらなにやらを使いたいときはよくあります。 アセット使えば手っ取り早いんですけど、かゆいところに届かないところもあるので、自前で用意する方法をちょろっと書いてみます。 今回はAndroidです。 Android開発やったことない人…

Unity : MonoBehaviour各関数の呼び出しタイミング

MonoBehaviourの各種メソッドを使う際、いつ呼ばれるのか、どういうタイミングで呼ばれるのかを把握しておかないと、思わぬところでハマる場合があります。 よく使うメソッドについて、呼び出しタイミングをまとめました。

Unity : モバイル端末のコンパスを使うときに気をつけること

Android, iOS 端末では、端末についているコンパスを使うことができます。 ただ、マニュアルを見てると値がいろいろあって、ナンノコッチャ結局どれ使えばいいの、って状態になったので、少し調べてみました。

NavMeshObstacleを避けて移動してくれない場合

NavMeshObstacleを配置してもNavMeshAgentが回避せず突っ込んでしまう場合、Carveオプションをチェックします。 Carveとは英語で「切る、刻む」という意味で、シーンに焼き込んだ NavMesh を切って穴を開けるという意味で使っているようです。 NavMeshObstac…

Unity : Image と RawImage は何が違うのか

GUIで画像を貼り付けたい時、ImageコンポーネントとRawImageコンポーネントでどっちを使うか迷ったりしませんか? 無駄に悩む事がないよう、しっかり違いを把握しておきましょう。

GIMPでテキストにグラデーションをかける

ロゴとか作るときにテキストにグラデーションかけたい場合。

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

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

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

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

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

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

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

敵の攻撃力や防御力など、「ゲーム全体で共通かつ不変」なデータを持たせたい場合は数多くあります。 そんな時つい、やってしまいがちなのが、プレハブ自体に値を持たせる方法。 こんなふうに持たせてしまうと、Instantiateするたびにこれらの変数がメモリに…

Unity Asset : プレハブを入れ子にできる Prefab Evolution

Unityではプレハブを入れ子構造にできません。 たとえばプレハブを二つ作成して以下のようにシーンに配置します。

Unity : 3Dシーン内のCanvasが邪魔

Canvasを配置すると、シーン内に3Dオブジェクトと一緒に表示されるようになります。 そしてなぜかこのCanvas、むちゃくちゃ大きいオブジェクトとして表示されてしまいます。

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

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

Unity : WheelColliderを初めて使うときにつまずくこと3つ

私は車の運転が苦手です。 だからせめてゲームの中では得意でいたい。 あわよくば峠を攻めたい... そしてUnityでWheelColliderを使うことをふと思い立ちました。嘘です。 使ってみたらつまづいたことをメモ。

UnityでJSONを扱う [C#]

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

Unity : ネットワークアクセスでエラー [SecurityException: No valid crossdomain policy available to allow access]

タイトルのエラーはWebPlayerとしてビルドしたスタンドアロンアプリか、WebPlayer向け設定の状態でエディターで実行すると発生します。 メニューの File → Build Settings を開くと次のようになっているはずです。

Unity : AnimationClipに合わせて処理をしたいなら

ジャンプに合わせて効果音をならしたり、足元に煙を出したい! 私はしたい。 そんなときに役立つのがアニメーションイベントです。 アニメーションイベントとは アニメーションの途中のある地点で、スクリプトに設定した関数を呼び出せる機能です。 この動き…

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

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

Unity上で3Dアニメーションを編集する - Animationウインドウ

3Dアニメーションはモデリングソフトで作ってからUnityに読み込まなくちゃいけねい と思ってるそこのあなた! いや、奥さん! むしろJKのお嬢さん!(願望) 実はUnityでアニメーションの作成や、アセットストアから買ったアニメーションの編集ができちゃう…

Unity : アニメーションとGameObjectの位置を同期させたい時に気をつけること

Mecanim(AnimatorController)はNavMeshAgentやCharacterControllerと一緒に使うケースがほとんどではないでしょうか。 その場合についてまわるのが アニメーションに合わせてGameObjectのTransformを移動するか という問題です。 思ったとおりの動作をさせる…

Unity : アセットのAnimationClipを編集する

3Dモデルのアニメーションで 「腕の角度が足りない!」とか「もっと逸れ!」とか思うことが、まれにあると思うんですよ。 そんな時に既存Assetのアニメーションを編集する方法をお教えします。 アセットからAnimationClipだけ抜き出す 3Dモデリングソフトから…

Appleの審査に関連したUnityのIPv6対応

Appleの審査に出すアプリがIPv6のみを用いた通信の対応必須になるということで、Unityで正式に対応すると発表されました。

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

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

Macで手っ取り早くスクショGIFアニメを作りたいなら GIPHY CAPTURE が最強

最近Unityの記事を書く上で動画を配置したい場合が多いのですが、動画を埋め込むとどうしても重くなるのでアニメーションGIFを作る方法を探していました。 Macで、デスクトップで範囲を指定、ワンボタンでキャプチャ、さらに編集までできちゃう。 そんな欲望…

最強に意識高い目標管理アプリ - Fabulous

今回はゲームから離れ、Fabulousというアプリを紹介します。 Fabulous - Motivate Me!

UnityでAndroid 端末の正確な傾きを取得したい→とりまCardboardSDK使えばいけるよ

*CardboardSDKはGoogle VR SDKに名前が変わりました Androidで端末の傾きを取りたいとき、思いのほか苦労します。 Input.gyro などUnity単体のジャイロセンサーでとれる値は、どうやってもズレが発生してしまうようです。 GoogleのVR用デバイスCardboard用…

なんかアセットのセールやってる件

15日からアセットストアでSENSIBLE SALEなるものをやっているようです。 https://www.assetstore.unity3d.com/jp/#!/sale?utm_source=store&utm_medium=home&utm_campaign=as_sane_sale_sept_15 自分的に「これは買いだ!」というものがいくつかあったのでリ…

Unity 5.2 で気になったアップデート

またいつのまにかUnity5.2がリリースされていて、オジサン朝っぱらから変な声出ちゃったよ。 unity3d.com ということで気になる機能をまとめてみました。 Services Window Unity Ads, Analytics, Cloud Build, Multiplayer と、Unity周辺ツールを扱う窓が新…

Unity : Clothコンポーネントでユニティーちゃんのスカートをひらひらさせる

今回は布や旗、はてはスカートまで、ひらひらしたものを表現したい場合に使うClothコンポーネントの基本的な使い方をまとめます。 ただ普通にまとめても実際のゲームでどう使うかわかりづらいと思うので、この子に手伝ってもらいましょう。 ユニティーちゃん…

ビルド時にエラー:Unable to convert classes into dex format

今回は完全に自分用の覚書です。 UnityでAndroid用ゲーム作ってネイティブ用の機能を使いたいときは自分は下のアセットを使っています。 Android Native Plugin https://www.assetstore.unity3d.com/jp/#!/content/10825 このアセット、ちょっとダイアログ出…

デバッグに便利な UnityEngine.Assertions

Unity5.1 で UnityEngine.Assertions ネームスペースのクラスが追加になりました。 ゲームを動かしながら値の正当性をチェックできる便利な機能です。

Unity 5.1 変更点

先日 Unity5.1 がリリースされたので、リリースノートをチェックしました。 http://unity3d.com/unity/whats-new/unity-5.1 箇条書き気味だけど許してね(thpr)

Unity5の Lighting ウインドウの見かた ~GI編~

indie-du.com 前回は環境光とライトマップの設定を見ていったので、今回は目玉機能のGIの設定を見ていきます。(とか言いながらライトマップ自体の設定もちょっと出てきます。ここらへんが Lightingウインドウのよくわからんところです。。)

Unity5の Lighting ウインドウの見かた ~基本編~

Unityのライティングシステムは非常に強力です。 ライティングウインドウでは環境光、ライトマップ、GI、フォグなど多彩な設定を行えます。 Unity - マニュアル: ライティングウィンドウ

Gem Shader を Unity5 で使う

最新のGem Shaderでは専用の FX/Gem というシェーダーを使っているため、ここで書いた方法を使わなくてもより綺麗な宝石になりましたこの Gem Shader というアセットGem Shader - Asset StoreUnity が出してて、無料で良い感じの宝石オブジェクトが使えて重…

Unityのインスペクターをハックしよう:初級編

今回はスクリプトを書いたときの、インスペクタと連携を取る上でのあるあるを。 インスペクタから設定しない public 変数が邪魔

Unity : レイヤーマスク値のつくりかた

Physics.Raycast などで当たり判定を使う場合、レイヤーマスクを使うと余分な当たり判定処理を防ぐことができます。 で、レイヤーマスクを扱う方法が色々ありますよという、お話。

Unity : 衝突検出のOnCollisionEnter, OnTriggerEnter が呼ばれない、反応しない(Collision Detection)

衝突(Collisionや Trigger)検出に OnCollisionEnter, OnCollisionExit, OnCollisionStay, OnTriggerEnter, OnTriggerExit, OnTriggerStay 関数は欠かせないわけですが、これらを使うにもいろいろ制約があります。 引っかかりやすいものを挙げてみました。

uGUIのレイアウトを理解する 〜 多種解像度対応 : Canvas Scaler

1 2 3 4 前回まででRect Transform の数値の見方が分かりました。 が、アンカーの位置は相対値、要素の位置は絶対値で決めているため、画面の大きさが変わった場合に見え方が変わってしまうという問題があります。実際に見てみましょう。

uGUIのレイアウトを理解する 〜 Rect Transform編(3)

1 2 3 4 前回は、アンカーがくっついている状態でのレイアウトについて解説しました。 今回はアンカーが分離している状態でのレイアウトです。

Amazon.co.jpアソシエイト