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

(:3[kanのメモ帳]

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

簡単ローカライズアセット「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

ボタンを押した瞬間にメソッド実行【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに uGUIでボタンを作成すると、デフォルトであるイベントはOnClickだけでそのままではクリックした時(スマホだとタップして指を離した時)にしかメソッドが実行できません。 場合によっては押した瞬間に…

AnimationCurveをInspectorで設定し、スクリプトから使う【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回は表題の通り、AnimationCurveをInspectorで設定し、スクリプトから使う方法のご紹介です! AnimationCurve

プレハブの解除【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 一度プレハブにした後、プレハブを削除してしまうと、Hierarchy上に残ったオブジェクトは色が変わったり、Missingが表示されたりと、見苦しい感じになってしまいます。 今回はそんな時に使えるプレ…

No such file or directory libiPhone-lib.a【Unity】【UnityCloudBuild】【トラブルシューティング】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はUCB(UnityCloudBuild)でビルドした時に No such file or directory: '/BUILD_PATH/○○○○/△△△△/Libraries/libiPhone-lib.a' と表示される場合の対処法です。 ちなみに、以下とは関係ありません…

ScriptableObjectの参照をちょっと楽にしてみる【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに まずはじめに、ScriptableObjectとは以下のようなもので、変化しないデータを利用する時に活躍するものです。 データを格納するオブジェクトです。もう少し言えば、Unityがデータをシリアライズ・デ…

エディタを実行していない時にOnValidateでDestory【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 以下のように、エディタを実行していない時にOnValidateでDestoryしようとするとエラーが出ます。 private void OnValidate (){ Destroy (gameObject); } Destroy may not be call…

AssetImporterをAssetPostprocessor以外で使う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal AssetImporter さっそくですが、AssetImporterをAssetPostprocessor以外で使う場合はAssetImporter.GetAtPathを使ってパスからAssetImporterを取得します。 using UnityEditor; //Assets直…

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

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はResourcesディレクトリ以外から何かしらのアセットをロードする時の方法です。なお、エディタ上でしか機能しないのであしからず。つまり、エディタ拡張の時用ですな。 Asset…

現在のビルドターゲットに合わせてBundle IDを自動更新する【Unity】【エディタ拡張】

エディタ拡張とは デリゲート、イベントとは この記事でのバージョン Unity 5.3.4f1 Personal はじめに UnityはPlay settingsからBundle ID(Bundle Identifier)を設定できますが、各ビルドターゲット(プラットフォーム)ごとに設定はできません。 つまりBundl…

UnityCloudBuildでの身に覚えのないエラーを解決するかもしれない方法【Unity】【UnityCloudBuild】【トラブルシューティング】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに UCB(UnityCloudBuild)便利ですよね!でもたまに身に覚えのないエラーが出て、困ったりしますよね!今回はそんな時に使えるかもしれない方法のご紹介です。 クリーン

ボタンなどを押さなかった時のタッチイベントを取得する【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに ボタンなどを押さなかった時のタッチイベントを処理したいって場合ありますよね。 例えば、画面をタップした時にシーンを移動したいけど、ボタンを押した時は違う処理をしてシーンの移動はしたくな…

NullReferenceException (UnityEngine.UI.Selectable.set_interactable)【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はNullReferenceException: Object reference not set to an instance of an objectUnityEngine.UI.Selectable.set_interactable と表示される場合の対処法です。

モバイルの時だけ有効になるDefine、UNITY_MOBILEを宣言してみる【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityでは各プラットフォーム毎にコンパイルするコードを変えたい場合、UNITY_EDITORやUNITY_ANDROIDなどのDefineを使って切り替えを行います。 #if UNITY_IOS //対象プラットフォームがiOSの時だけ…

OnPreprocessTextureなどをディレクトリ移動時も実行する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに OnPreprocessTextureはテクスチャがインポートされた時に実行され、何かしらの処理を自動で行えるメソッドです。同じようなものにOnPreprocessAudio、OnPreprocessModelがあります…

Sprite Packerの設定を自動で行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityには複数のスプライトをまとめて使えるSprite Packerという機能があります。 これを使うことでSetPass calls(旧DrawCall)を減らし、処理を軽くすることが出来ます。 このSpri…

ビルドするシーンを自動で設定【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityでは使用するシーンはあらかじめ登録しておかなければなりません。 また、登録されていないのにロードしようとするとエラーが出ます。 手動で登録するとミスがおこるかもしれ…

再生開始など、PlayModeの変化を取得【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 再生開始した時など、エディターの状態が変わった事を知りたい場合にはEditorApplication.PlaymodeStateChangeというデリゲートが使えます。 以下のようにPlaymode…

スクリプトからエディタを再生したり、停止したり、ポーズしたり、再開したり。【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 以前、スクリプトからエディタの再生を停止する方法が分からず、代替案としてエディタを強制終了するという方法をご紹介しました。 ありがたいことに、その記事のコメントにてスク…

MonoBehaviourを継承し、初期化メソッドを備えたシングルトンなクラス【Unity】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに さて、今回はシングルトンなクラスのお話。そもそもシングルトンとは、以下のようなデザインパターンの一つです。 Singletonパターンを用いると、そのクラスのインスタンスが1つしか生成されないこ…

UnityCloudBuildで有効になるDefineはUNITY_CLOUD_BUILD【Unity】【UnityCloudBuild】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに あえてタイトルで全てをお伝えするスタイルでお送りしました!! Unity Cloud Build用のdefine定数として、 UNITY_CLOUD_BUILD が使える Unity Cloud BuildとUnity Analytics from 孝康 矢嶋 使いど…

UIをまとめてフェード【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はuGUIで作ったUIをまとめてフェードする場合の記事です。 NGUIで言うところの、UIPanelのalphaを変更してフェードさせるのと同じ感じですね。 Canvas Group

ボタンの当たり判定(タッチ範囲)だけ広げる【Unity】【uGUI】

この記事でのバージョン Unity 5.3.4f1 Personal はじめに UIを作っていて、ボタンの当たり判定を見た目より大きくしたい、なんて事はよくあります。 しかし、uGUIのボタンは当たり判定==画像となっているため、そのまま使うと、当たり判定だけを大きくする…

第三十二弾アプリ だって、わしの国じゃし。【新作】【Unity】【アセット】

この記事でのバージョン Unity 5.3.4f1 Personal だって、わしの国じゃし。 新作リリースしました!その名も「だって、わしの国じゃし。」です! iOS https://itunes.apple.com/jp/app/id1107945977?at=10l8JW&ct=hatenablog Android https://play.google.co…

新作「だって、わしの国じゃし。」予約開始【Unity】【新作】【プロモーション】

この記事でのバージョン Unity 5.3.4f1 Personal だって、わしの国じゃし。 新作「だって、わしの国じゃし。」が完成したので、予約トップ10で予約を開始ました! iOS Android ゲーム内容は二人の国民から正解を選ぶというシンプルな仕分けゲームです。前回…

試しにUnityAnalyticsを使ってみたら簡単過ぎた件【Unity】【分析】

この記事でのバージョン Unity 5.2.2f1 Personal はじめに 試しにUnityAnalyticsを使ってみたら、予想以上に簡単だったので記事にしてみます。 導入

スクリプトからUnityエディタを終了させる【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.1f1 Personal EditorApplication.Exit スクリプトからUnityのエディタを終了させたい場合は、EditorApplication.Exitを使います。 using UnityEditor; //必要! using UnityEngine; public class NewBeha…

ニフティクラウドモバイルバックエンドでデータストア機能を使ってみた【Unity】【NCMB】

この記事でのバージョン Unity 5.2.2f1 Personal NCMB 2.1.0 はじめに 以前、Parseを使ってみて、かなり楽で良かったんですが、残念ながらそのParseが終了してしまいました……。 それで、似たようなサービスはないものかーと探していたらニフティクラウドモバ…

プラグインを書かずにランキングとアチーブメントを実装【Unity】【iOS】【Android】

この記事でのバージョン Unity 5.2.2f1 Personal はじめに 前回iOS、前々回Androidでランキングとアチーブメントを実装しました。なお、Androidの方は有料のアセットを使用しているので、ご注意ください。 ただ、ランキング関連の処理をする度にiOSとAndroid…

プラグインを書かずにGoogle Play Game Servicesのランキングとアチーブメントを実装【Unity】【Android】【アセット】

この記事でのバージョン Unity 5.2.2f1 Personal はじめに 前回、Unityで開発したiOSアプリにGameCenterのランキングとアチーブメントを実装しました。 なので今回はUnityで開発したAndroidアプリにランキングとアチーブメント(実績)機能を実装する方法のご…

プラグインを書かずにGameCenterのランキングとアチーブメントを実装【Unity】【iOS】

この記事でのバージョン Unity 5.2.2f1 Personal はじめに 今回はUnityで開発したiOSアプリにランキングとアチーブメント(実績)機能を実装する方法のご紹介です。なお、タイトル通りネイティブプラグインは書きません。 UnityEngine.SocialPlatforms ネイテ…

第三十一弾アプリ それでも僕らは曲がらない【新作】【Unity】【アセット】

この記事でのバージョン Unity 5.2.2f1 Personal それでも僕らは曲がらない 新作リリースしました!その名も「それでも僕らは曲がらない」です! iOSそれでも僕らは曲がらないKan Kikuchiゲーム無料Android 可愛いキャラが登場するシンプルバトルゲームです…

UISpriteのAtlasを自動で再設定する 【Unity】【NGUI】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.1f1 Personal NGUI 3.9.7 はじめに NGUIのアトラスを分割して新たなアトラスを作った場合など、設定していたアトラスがなくなった場合、UISpriteのAtlasはNoneになります。 しかし、新たにアトラスを設定…

新作「それでも僕らは曲がらない」予約開始【Unity】【新作】【プロモーション】

この記事でのバージョン Unity 5.2.2f1 Personal それでも僕らは曲がらない 新作「それでも僕らは曲がらない」が完成したので、予約トップ10で予約を開始ました! iOS Android ゲーム内容は一本道を進むか戻るかという選択を繰り返して、敵との攻防を楽しむ…

曲線の描画とコライダーの設定【Unity】【アセット】

この記事でのバージョン Unity 5.3.0f4 Personal はじめに 今回は任意の曲線を描画し、かつ、その曲線にコライダーを設定する、みたいな記事です。イメージとしては以下の通りです。

Time.timescaleを変更せずにRigidbodyの一時停止&再開処理【Unity】【拡張メソッド】

拡張メソッドとは この記事でのバージョン Unity 5.3.0f4 Personal はじめに ゲーム中にオブジェクトを一時停止したい、みたいな場合はよくあると思います。 その時、一番楽なのはTime.timeScaleを0にして時間を止める事ですが、これをするとtimeScaleが影響…

数学系の処理を扱うMathfの全変数と全関数【Unity】

この記事でのバージョン Unity 5.3.1f1 Personal 目次 目次 はじめに Static 変数 度とラジアンの変換(Deg2Rad, Rad2Deg) 極小(Epsilon) 無限大(Infinity, NegativeInfinity) 円周率(PI) Static 関数 絶対値(Abs) floatの比較(Approximately) 切り上げ、切り…

パーリンノイズでマイクラみたいなマップの自動生成【Unity】

この記事でのバージョン Unity 5.3.1f1 Personal はじめに Mathfについての記事を書いていた所、Mathf.PerlinNoiseになる見慣れない関数を発見しました。 どうやらこれを乱数を発生させる関数らしく、自動マップ生成にも使えるそうです。 面白そうなので簡単…

Primitiveな(基本的な)モデルをスクリプトから作成【Unity】

この記事でのバージョン Unity 5.3.1f1 Personal はじめに 今回はUnityのGameObject - 3D Object から生成出来るPrimitiveなモデルをコードから生成するというお話です。 CreatePrimitive

Unity5.3ではOnLevelWasLoadedの動作が実機とエディタ上で異なる件【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.3.1f1 Personal はじめに タイトル通りなのですが、Unity5.3ではOnLevelWasLoadedの動作が実機とエディタ上で異なるようです。 最初のシーンでもOnLevelWasLoaded実行される

確率判定【C#】【Unity】

この記事でのバージョン Unity 5.3.0f4 Personal はじめに ゲームを作ってると30%の確率でアイテム取得するだとか、ガチャのようにそれぞれ出現確率が違うものから一つ抽選するとか、確率を使って何かを判定するという事がよくあります。 今回はそんな確率判…

アトラス意識せずにスプライトの変更【Unity】【NGUI】

この記事でのバージョン Unity 5.2.2f1 Personal NGUI 3.9.2 はじめに NGUIのUISpriteは同じアトラスの画像であれば、画像名を指定するだけで変更できます。 //スプライトの変更 sprite.spriteName = spriteName; ということは、もし違うアトラスにある画像…

SendMessageを置き換えるために設計されたというメッセージシステムとやら【Unity】

この記事でのバージョン Unity 5.3.1f1 Personal はじめに Unity 4.6から登場したメッセージシステム、これは以下のようなもので、SendMessageの後継みたいな感じらしいです。 新しい UI システムは、SendMessageを置き換えるために設計されたメッセージシス…

様々なモノが簡単に表現できるEffector2Dのまとめ【Unity】【Effector2D】

この記事でのバージョン Unity 5.3.1f1 Personal 目次 目次 はじめに 重力や磁力を表現できるPointEffector2D 風やバリアを表現できるAreaEffector2D 下からだけ貫通する床を表現できるPlatformEffector2D ムービングウォークやエスカレーターを表現できるSu…

浮力や水流を表現できるBuoyancyEffector2Dの使い方やパラメータ【Unity】【Effector2D】

この記事でのバージョン Unity 5.3.1f1 Personal 目次 目次 はじめに 使い方 使用例 浮力 水流 パラメータ Collider Mask Surface Level Density Linear Drag Angular Drag Flow Angle Flow Magnitude Flow Variation おわりに はじめに 今回はUnity5.3より…