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

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

OnDisableやOnDestroyをエディタを止めた時には実行しないようにする【Unity】

この記事でのバージョン Unity 5.5.0p1 はじめに MonoBehaviourには無効になったときに呼ばれるOnDisableと、 破棄される時に呼ばれるOnDestroyという関数があります。 なお、GameObjectを削除すると両方呼ばれます。イメージとしては以下のような感じ。 usi…

Hierarchyの変更を検知する【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.5.0p1 はじめに 今回はHierarchyの変更を検知する方法のご紹介。なお、エディタ上だけの方法なのであしからず。 EditorApplication.hierarchyWindowChanged

timeScaleを無視してParticleSystemを再生させる【Unity】

この記事でのバージョン Unity 5.5.0p1 はじめに ParticleSystemはtimeScale変更するとそれに合わせて再生速度も変わるようになっています。 ただ、残念ながらtimeScaleを無視して一定速度で再生するような設定はないようです。 Simulate

Windows向けにビルドしたらなんか音が変だった件【Unity】【Windows】【トラブルシューティング】

この記事でのバージョン Unity 5.5.0p1 はじめに タイトル通り、Windows向けにビルドし、実行してみたら、なんか音がおかしかった時の話です。 DSPBufferSize さっそく原因ですが、AudioManagerの設定の問題でした。 なお、AudioManagerの設定はEdit->Projec…

Rigidbody2DがSleepして衝突しなくなる問題【Unity】

この記事でのバージョン Unity 5.5.0p1 はじめに Rigidbody2Dはデフォルトの状態だと、一定時間動かない場合はSleep状態となり、衝突を判定しなくなります。なお、Sleep状態となると以下のようにCollider2Dの色が薄くなります。 上記の例では二つのオブジェ…

File.WriteAllBytesで書き出したファイルがProjectに表示されない時の対処法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.5.0p1 はじめに 以下のよう感じで、Assets以下にファイルを書き出した時、Finderで見ると存在するものの、Projectに表示されない場合があります。 File.WriteAllBytes("Assets/Data.txt", data); 今回はこれの対処法です。 A…

Texture2DからSpriteを生成する【Unity】

この記事でのバージョン Unity 5.5.0p1 はじめに 今回はタイトル通り、Texture2DからSpriteを生成する方法のご紹介です。 Sprite.Create

Window10でUnityをインストールしてコードを書くまでにぶつかった問題とその解決方法【Unity】【Windows】【トラブルシューティング】

この記事でのバージョン Unity 5.5.0b11 Windows 10 Home バージョン1607 目次 目次 はじめに Visual Studio インストール Visual Studioの修復 .net framework 3.5 有効化 コンポーネント ストアの修復 Unityインストール Unityのエラー解消 おわりに はじ…

エディタ拡張で進捗状況を表示する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はエディタ拡張でなんらかの処理を行っている時に、進捗状況を表示する方法のご紹介です!イメージとしては以下のような感じです。 EditorUtility.DisplayProgressBar

MonoBehaviourを継承しないという選択肢【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに UnityではおなじみのMonoBehaviourですが、デフォルトで継承されているし、ドキュメントにも以下のようにあるので、Unityを始めた当初は絶対に継承しなきゃいけないイメージになりがちです。 MonoBehaviourは…

Prefabの状態を保ったままのオブジェクトをプログラムから作成する【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに 今回はPrefabの状態を保ったままのオブジェクトをプログラムから作成する方法のご紹介です!Prefabに接続された状態のインスタンスを作成するとも言えるかと思います。 言葉だとちょっと分かり難いですが、よ…

Transformを簡単にResetする【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに TransformはInspectorの歯車から、Resetを実行することで positionを(0,0,0) rotationを(0,0,0) scaleを(1,1,1) にリセットする事ができます。 これ自体はとても便利なのですが、transform.…

コンポーネントを追加した際に処理をしたい場合は、Resetを使うと良いって話【Unity】

この記事でのバージョン Unity 5.4.0f3 MonoBehaviour.Reset MonoBehaviourを継承したクラスをGameObjectにaddすると、特に何もせずともInspectorの歯車にResetというメニューが出現します。 そのままでは実行してもなにも起こりませんが、Resetというメソッ…

Hierarchy内の順序をプログラムで変える【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに 今回はHierarchyでの順序を変える方法のご紹介です。利用するのは主にuGUIを使っている時ですね。 GetSiblingIndex

enumをkeyにしたDictionaryが遅いって本当ですか?【C#】【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに c#のenumは遅いという話を耳にしたので、気になって調べてみた系の記事です! そもそものc#のenumは遅いという由来は以下の通り。 enumは糖衣構文です。実態はclass Enumです。 糖衣構文……?知らぬ存ぜぬ。と…

時間を計る便利クラス【Unity】【C#】

この記事でのバージョン Unity 5.4.0f3 はじめに 今回はUnity上で時間を簡単に計る方法のご紹介!ちなみに、iOSやAndroid、Unityエディタ上はもちろん、エディタが再生してない時でも使えます!ようは、エディタ拡張で作った機能の処理時間も計れるというこ…

Unityの仕様を無視して、画像をそのまま使おうという試み【Unity】

この記事はUnity 2 Advent Calendar 2016の19日目の記事です。 この記事でのバージョン Unity 5.4.1f1 はじめに Unityの躓き所(?)の一つに画像の設定があります Formatだけでも多数あるし、設定項目も多岐にわたります。しかも適切に設定しないと色が変にな…

クラスを丸ごと保存するデータ管理方法【Unity】

この記事はUnity Advent Calendar 2016の15日目の記事です。 この記事でのバージョン Unity 5.4.0f3 はじめに 今回はタイトル通り、クラスを丸ごと保存するデータの管理方法のご紹介です! ざっくり言うと、永続化したいデータを一つ一つ保存したりするのは…

enumを作成するエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 以前、定数を管理するクラスを作成するエディタ拡張という記事を書きました。 これはいわゆる定数クラスと呼ばれるクラスを生成するためのエディタ拡張です。 これ単体だとあまり意味はあり…

Unityがクリスマスプレゼントくれるってよ!【Unity】

はじめに くれるらしいです! なにやらサインアップするとクリスマスまで毎日Unity関連のアセットなんかのプレゼントが貰えるらしい。https://t.co/nDWedQwIVn #unity3d— h.omae (@pigeon6) 2016年11月30日 と言っても、全員プレゼントみたいな感じではなく…

ビットフラグを使いやすくするアレコレ【Unity】【C#】【エディタ拡張】【拡張メソッド】

エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに タイトルの通り、今回はUnity&C#で開発を行う際にビットフラグを使いやすくするアレコレのご紹介です! ビットフラグ

スクリーンショットの撮影と撮影完了の検知【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに 今回はUnityを使ったゲーム上でのスクリーンショットの撮り方と、撮り終わった事を検知する方法のご紹介です! Application.CaptureScreenshot

アセットをリリースしたらパスの\が原因でバグった件【Unity】【Windows】【トラブルシューティング】

この記事でのバージョン Unity 5.4.0f3 はじめに 以前、アセットストアでAutoLocalizationというローカライズ用のアセットをリリースしたのですが、 その時にタイトルの通り、パスの\が原因でバグを発生させてしまいました。(バグは修正してアップデート済み)…

Unityから書き出すXcodeのプロジェクトを軽くする【Unity】【iOS】

この記事でのバージョン Unity 5.4.0f3 はじめに UnityからXcodeのプロジェクトを書き出すと結構な重さになりますよね。例えば空のUnityプロジェクトをビルドした場合でも646.5MBにもなります。 これの原因はlibiPhone-lib.aというファイルで、こいつが600MB…

通知メッセージを表示する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はUnityエディタ上で通知メッセージを表示する方法のご紹介!通知メッセージとは以下のような感じのやつです。 EditorWindow.ShowNotification

UnityでiOSの3D Touchを使う【Unity】【iOS】

この記事でのバージョン Unity 5.4.0f3 iOS 9.3.2 Unity Remote 5 2.0 はじめに 今回はタイトルの通り、UnityでiOSの3D Touchを使うための記事です。 なおUnityエディター上でも、Unity Remote 5を使い、3D Touch対応端末から操作すればテストすることができ…

Unity Asset Storeのアフィリエイトプログラム開始!【Unity】【アセット】

はじめに 2016年11月1日(太平洋標準時)より、Unity Asset Storeのアフィリエイトプログラムが開始されました!つまり、Unity Asset Storeのアセットを紹介してお金が貰えるようになったわけです。 せっかくなので、このアフィリエイトプログラムの概要につい…

親や子を簡単に作れる拡張メソッド【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに 今回は親や子を簡単に作れる拡張メソッドのご紹介!イメージは以下のような感じ。 SetParent

インスタンスから元のPrefabを取得する【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに 今回はインスタンスから元のPrefabを取得する方法のご紹介です! ちょっと分かりにくいかもしれませんが、ようはHierarchy上で右クリックをし、Select prefabを実行した時の動作をプログラムで行いたいという…

「1ビットローグ」リリース!【新作】【Unity】

この記事でのバージョン Unity 5.3.4f1 1ビットローグ Skipmoreさんとの初の合作、「1ビットローグ」をリリースしました! iOS1ビットローグ ダンジョン探索RPG!Kan Kikuchiゲーム無料Android

シーンを移動するとInputがリセットされる件【Unity】

この記事でのバージョン Unity 5.4.1f1, 5.5.0b6 はじめに 今回はUnityの入力を簡単に処理できるInputクラスの話です。 タイトルの通り、このInputはシーンを移動するとリセットされる場合があります。 例えば、以下のようにキーボードのAとSを押すとログが…

Inspectorにファイルをドラック&ドロップしてパスを設定する【Unity】【エディタ拡張】【属性】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はInspectorにファイルをドラック&ドロップしてパスを設定する方法のご紹介です!イメージとしては以下の通り。 PathAttribute

Collider2Dを実機で可視化してみた【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに デフォルトの状態だとSceneView上でしか可視化されていないCollider2Dですが、Gizmoを有効にすることでGameViewでも見えるようになります。 ただし、SceneViewにしろGameViewにしろ、可視化するためには確認…

ドット絵の箱庭系スローライフRPG、ピコンティア開発中!【新作】【Unity】【Steam】

フェアルーンやドランシアでお馴染みのSkipmore大先生との合作第二弾!ピコンティアを作り始めていました!記事にするのを完全に忘れていました!! ピコンティアは農作業あり、クラフトあり、戦闘ありのスローライフRPGです! つい先日、SteamのGreenLight…

Resources以外からアセットをロードする便利クラス【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 以前、Resources以外からアセットをロードする方法を紹介しました。 その時、AssetDatabaseを使えばResources以外からもアセットをロードできるが、Resources.LoadAllのようにディレクトリ…

OnLevelWasLoadedが非推奨になったからSceneManager.sceneLoadedで置き換えてみる【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに Unityを5.4.0f3アップデートしたところ、以下の通りWarningが出ました。 This message has been deprecated and will be removed in a later version of Unity. Add a delegate to SceneManager.sceneLoaded …

全てのシーンに存在し、かつ、一つしか存在してはいけないマネージャー的存在の実装方法【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityでゲームを作っていると、全てのシーンに存在し、かつ、一つしかいないマネージャー的な存在が必要になりますよね。例えばBGMやSEなどの管理を行うAudioManagerなんてものとか。 一つしか存在…

PlayerPrefsをリセットするメニューを追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はタイトル通り、PlayerPrefsをリセットするメニューを追加するエディタ拡張の紹介です。 PlayerPrefsResetter

シーンを切り替えても引き継げて、簡単に書き換えられるデータ 【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに ゲーム画面でのスコアをリザルト画面で使いたい、といったようにシーンを切り替えてもデータを保持したい、でも別に保存したいわけじゃない、みたいなことはよくあると思います。 そういう時には、…

簡単にモーションをブレンドして使えるBlend Tree【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はUnityの便利システムの一つ、Blend Treeを使って簡単にモーションをブレンドしてみる感じの記事です。 イメージとしては以下のような感じ。なお、体が回転しているように見えますが、アニメー…

タッチした所が始点になるジョイスティック(バーチャルパッド)を実装【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 前回の記事で自家製ジョイスティックを紹介しました。 前回はジョイスティックの位置が固定されてるタイプでしたが、今回は始点が移動するタイプのご紹介!イメージは以下のような感じ。 なお、Stic…

ジョイスティック(バーチャルパッド)を実装【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はジョイスティック(バーチャルパッド)を実装してみようという記事です。 イメージは以下のような感じ。 ちなみにStandardAssetsにあるやつではなくオリジナルのものなのであしからず。Standard…

変数の初期値を変更しても反映されない時の対処法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はタイトル通り、変数の初期値を変更しても反映されない時の対処法です。個人的にはUnityで始めたばかりの頃にハマりやすい所の一つだと思っとります。 原因 ではさっそく本題です。タイトルの…

ヘルプボタン(?)のURLを変える【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに inspectorに表示される各オブジェクトには本のようなボタンが表示されています。 このボタンは押すと対象に応じたヘルプをブラウザで開いてくれるというものです。 今回はこのURLを変える方法のご紹…

簡単ローカライズアセット「AutoLocalization」をリリース!【Unity】【新作】【アセット】

この記事でのバージョン Unity 5.4.0f3 はじめに いつもお世話になっているUnity Asset Storeに自分のアセットを初めてリリースしました!その名も「AutoLocalization」です! 名前の通り、ローカライズを行うためのアセットです。以下の動画を見てもらうと…

選択したオブジェクトに対する日本語のドキュメントを表示するためのエディターウィンドウ【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに UnityにはHelpというクラスがあります。 Unity ドキュメントにアクセスするためのヘルパークラスです このHelpクラスにあるShowHelpForObjectを使うと対象のヘルプページを開ける…

Inspectorにメソッドを実行するボタンを追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 特定のメソッドをInspectorから実行できるようにしておくと便利な場合は多々あると思いますが、そんな時に一番楽なのはContextMenuだと思います。 //Inspectorの歯車アイコンにMet…

パーティクルの大きさをScaleで調整する【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はパーティクルの大きさをScaleで調整する方法のご紹介。 なお、Unity5.3から実装された機能です。 Scaling Mode

新作「1ビットローグ」予約開始【Unity】【新作】【プロモーション】

この記事でのバージョン Unity 5.3.4f1 1ビットローグ 新作「1ビットローグ」(Unity製)の予約を開始しました! iOS Android なんと今回はフェアルーンやドランシアでお馴染みのskipmore大先生との合作です! "1-Bit Rogue" Coming soon!! #pixelart #gamedev…

長押しすると連続でメソッドを実行するボタン【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はタイトル通り、長押しすると連続でメソッドを実行するボタンの記事です。例えばLvを上げるボタンなんかで使えます。 EventTrigger