(:3[kanのメモ帳]

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

SliceしたSpriteの取得を簡単にし、キャッシュもする便利クラス【Unity】

この記事でのバージョン Unity 5.6.1f1 はじめに UnityではSpriteEditorを使って一つの画像から複数のSpriteへSliceする事が可能です。 こうすることで、一枚一枚で使うよりSetPass Calls(描画命令回数?)が減り、処理が軽くなりますが、Sliceした画像を読み…

enumのToStringが遅いって本当ですか?【C#】【Unity】【拡張メソッド】【高速化】

拡張メソッドとは この記事でのバージョン Unity 5.6.1f1 はじめに enumのToStringは遅いという話を耳にしたので、気になって調べてみた系の記事です!ちなみに、以前にenumをkeyにしたDictionaryが遅いという話も記事にしてました。 そもそものenumのToStri…

オブジェクトの検索、選択、アクティブ切替を楽にする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 今回はオブジェクトの検索、選択、アクティブ切替を楽にするエディタ拡張のご紹介!イメージとしては以下のような感じで、 よく使うオブジェクト名を登録しておくと、それをいつでも検索&選…

アプリ内でのレビューをUnityで実装【Unity】【iOS】

この記事でのバージョン Unity 5.6.1f1 Xcode 8.3.2 iOS 10.3.1, 9.3.5, 8.0, 7.1.1 はじめに iOS10.3からアプリ内でレビューを付けられるようになりました。 しかも、この公式の機能以外で評価を促す事は禁止となるようです。 アプリ上で評価を促す際には、…

XcodeにサポートしていないバージョンのiOSを追加する【iOS】

iOS

この記事でのバージョン Xcode 8.3.2 はじめに Xcodeから実機に転送する際、サポートしてないiOSの場合は以下のような警告が出て転送が失敗します。 Could not locate device support files. 今回はそんな場合の対処方法です。 対処方法

カテゴリ別、厳選記事一覧【Unity】【エディタ拡張】【C#】

はじめに このブログに投稿した記事の中から、人気があったモノや有益っぽい気がするモノを厳選し、カテゴリ別にまとめてみました!随時更新中! 2017.06.19更新以下の項目を追加 - enumのToStringが遅いって本当ですか? 目次 はじめに 目次 Unityの機能 Un…

カーソルの設定【Unity】

この記事でのバージョン Unity 5.6.1f1 はじめに 今回はカーソルの設定方法についての記事です! なお、カーソルの設定はUnity4系ではScreen.lockCursorなど、Screenというクラスを使っていましたが、 Unity5系ではCursorというクラスを使うようになりました…

isShowingSplashScreenが非推奨になったので、SplashScreen.isFinishedを使ってみた【Unity】

この記事でのバージョン Unity 5.6.1f1 はじめに 気付いたら、スプラッシュが表示されているか確認する際に使っていたisShowingSplashScreenが 非推奨になっていました。 warning CS0618: `UnityEngine.Application.isShowingSplashScreen' is obsolete: `Th…

特定のシーンでだけ破棄されないオブジェクトの実装【Unity】

この記事でのバージョン Unity 5.6.0f3 はじめに Unityではシーン遷移時にシーン上のGameObjectは全て破棄されてしまいます。なので、破棄したくない物にはDontDestroyOnLoadを実行して、永遠に破棄されないようにします。 DontDestroyOnLoad(gameObject); …

シーンの遷移とフェードを管理するクラス【Unity】【uGUI】

イベント、デリゲートとは この記事でのバージョン Unity 5.6.1f1 はじめに 今回はタイトル通り、シーンの遷移とフェードを管理するクラスのご紹介!なるべく分かり易いようにシンプルな作りにしてみました。イメージとしては以下のような感じ。 //シーンの…

Box Collider 2D に追加された Edge Radius なるもの【Unity】

この記事でのバージョン Unity 5.6.1f1 はじめに Unityを5.6.1f1にアップデートした所、見慣れぬ項目がある事に気付きました。その名もEdge Radius ! ちょっとビックリしたので記事にしてみました。 Edge Radius

エディタを実行していない時にSceneView上でクリックした座標を取得する【Unity】

この記事でのバージョン Unity 5.6.0f3 はじめに 今回はタイトル通り、エディタを実行していない時にSceneView上でクリックした座標を取得する方法のご紹介です!イメージは以下のような感じ。 GameViewでも同様の事は可能ですが、SceneViewは表示範囲を簡単…

Visual Studio for Mac が正式リリースされたのでUnityで使ってみた【Unity】【Mac】

この記事でのバージョン Unity 5.6.0f3 Visual Studio for Mac 7.0.0 はじめに Visual Studio for Mac が正式にリリースされたので、Unityで使ってみました!なお、無料で使う事ができます!無料版(Visual Studio Community)についての利用条件は以下の通り…

コンストラクタの継承【C#】

C#

はじめに 今回はC#でコンストラクタの継承を行う方法のご紹介です! コンストラクタの継承

Timelineとは【Unity】【Timeline】

この記事でのバージョン Unity 2017.1.0b2 はじめに 先日、2017.1.0 (beta)のリリースノートにも書かれたりと、最近よく聞くTimelineなるもの。 【朗報】Unity Timeline氏、オレンジからグリーンになり無事2017.1のリリースノートに書かれる https://t.co/2q…

タグやレイヤーの区分け【Unity】

この記事でのバージョン Unity 5.6.0f3 はじめに 先日「"/" で区切ってタグを定義すると、自動的に区分けしてくれる」という情報を目撃しまして、 "/" で区切ってタグを定義すると、自動的に区分けしてくれる#UnityTips pic.twitter.com/Z99mK2m5eL— ゴコー …

読み込まれている全シーンの取得【Unity】

この記事でのバージョン Unity 5.5.2f1 はじめに Unity5.3からマルチシーンエディティングという複数のシーンを同時に扱う機能が追加されました。 今回はこの機能に関連して、現在読み込まれている全シーンの取得を行う方法のご紹介です。 sceneCountとGetSc…

Resourcesにあるファイルをビルド時にのみ移動する【Unity】

この記事でのバージョン Unity 5.6.0f3 はじめに UnityではResourcesに入っているファイルは基本的に全て、ビルドに含まれてしまいます。なので、ビルドしたくないファイルはResourcesに入れてはいけないのですが、場合によってはResourcesに入れたいけど、…

PC用のビルドした時に解像度が変わらない場合の対処法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.5.2f1 はじめに UnityではPC用の解像度(起動時)は以下の場所から設定する事ができます。Build Setting -> PlayerSettings -> Defualt Screen Width & Height なお、DisplayResolutionDialogをDisableに設定すると起動時にユ…

Spriteの分割を透過部分も含めて自動で行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.2f1 はじめに UnityではSprite Editorを使う事で、Spriteの分割が自動で行えますが、透過されている部分は無視されてしまうため、全てを均等に分割するという事は出来ません。 なので今回は、透過部分も…

「神巫女 -カミコ-」発売開始!【新作】【Unity】【NintendoSwitch】

神巫女 -カミコ- 次の新作はピコンティアの予定でしたが、なんやかんやありまして、別の新作 「神巫女 -カミコ-」の発売が開始されました!プラットフォームはなんとNintendo Switch!Nintendo Switch!!ダウンロード専用で、お値段は500円です!

サブスクリプション新規購入すると今だけ人気アセット3つが無料!【Unity】

はじめに タイトル通り、今Unity PlusまたはProサブスクリプションを新規購入すると、3つの有料アセットが無料で付いてくるそうです! Accelerator Pack 対象アセット

画像のmetaファイルに関するTips【Unity】

この記事でのバージョン Unity 5.5.2f1 はじめに Unityではプロジェクト内で何らかのファイルを生成すると、一緒にmetaファイルが生成されます。 今回はそんなmetaファイル(主に画像)に関するTipsです。 違う画像の情報をコピー

Listを反転させる【C#】

C#

今回はListの小ネタで、中身を反転させる方法のご紹介です!やり方は簡単、Reverseというメソッドを使うだけです。 //リストを作成 List<int> list = new List<int>(); list.Add(1); list.Add(2); list.Add(3); //中身を列挙 foreach (int num in list) { print(num); </int></int>…

SpriteModeがMultipleのTextureから、設定したSpriteの画素値だけを取得する【Unity】

この記事でのバージョン Unity 5.5.1f1 はじめに Unityでは、Textureの設定でRead/Writeを有効にすると、GetPixelsを使う事でTextureの画素値を取得する事が出来るようになります。 //テクスチャの全画素値を取得 Color[] pixels = texture.GetPixels(); し…

フォントのフィルターモードを変えてドットフォントをくっきり表示【Unity】【uGUI】

この記事でのバージョン Unity 5.5.1f1 はじめに Unityのテクスチャは、デフォルトでは滑らかに表示されるようにフィルターが設定されています。 ドット絵などフィルターが必要がない場合は以下のように設定からFilterModeをPointにして、補完しないようにし…

stringの文字数を揃える【C#】

C#

はじめに 今回はstringの文字数を揃える方法のご紹介です。"1" → "1000" "33" → "3300" "525" → "5250" みたいな感じで使えるやつです。 PadLeft, PadRight

親オブジェクトが無効になっている時にactiveSelfを見るとtrueが返ってくるという話【Unity】

この記事でのバージョン Unity 5.5.1f1 はじめに 例えば親オブジェクト(Parent)は無効だけど、子オブジェクト(Child)は有効になっている場合、 オブジェクトの状態を確認するためにactiveSelfを見てしまうと、子オブジェクトはtrueが返ってきてしまいます。 …

エディタ実行中だけ開くウィンドウの実装【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.1f1 はじめに 今回はタイトル通り、エディタ実行中だけ開くウィンドウのご紹介!イメージは以下の通り。 再生ボタンを押した時に表示され、終了ボタンを押した時に非表示にされる感じです。 WindowWhenEd…

コンポーネントを重複してアタッチできないようにする 【Unity】【属性】

この記事でのバージョン Unity 5.5.1f1 はじめに このコンポーネントは一つのGameObjectに複数付いてたら困る!うっかり付けられないようにしたい!今回はそんな時に役立つ記事です。 DisallowMultipleComponent

独自のショートカットキー(ホットキー)を作成する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.1f1 はじめに エディタ拡張で便利な機能を作ったから、瞬時に呼び出せるようにしたい!機能にショートカットキーを設定したい!今回はそんな感じの記事です。 MenuItem

エディター上で選択しているオブジェクトを取得したり、任意のオブジェクトを選択したり【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.5.1f1 はじめに 今回はエディターでの選択オブジェクトに関する諸々の話です。選択しているオブジェクトの情報を取得したい、任意のオブジェクトを選択したいそんな感じの時に役立つはずで…

SpriteRendererで9Slice【Unity】

この記事でのバージョン Unity 5.5.1f1 はじめに 今回はSpriteRendererで9Sliceをしてみようという記事です。以下はイメージで、左がそのままスケールしたもの、右が9Sliceしてスケールしたものです。 使用している画像は以下のものです。 なお、Unity5.6で…

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のエラー解消 おわりに はじ…

デバイス毎に違うURLへ飛ばせるURLを無料で作成してくれるsmartURL 【便利サービス】

はじめに 今回は開発とは直接関係ないのですが、便利なサービスを見つけたので、それの紹介記事です! サービス名は「smartURL」タイトルの通り、デバイス毎に違うURLへ飛ばせるURLを無料で作成してくれるサービスです。 例として以下のURLはiOSならApp Stor…

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

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

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

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

Xbox360のコントローラーをMacで使う【Mac】

Mac

この記事でのバージョン OS X El Capitan(10.11.6) はじめに 現在開発中のピコンティアをコントローラーでの操作に対応するべく、Xbox360のコントローラーを買ったは良いんですが、どうやらMac用の公式ドライバはないようです。 しかし、有志が作ってくれたM…

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

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

Inspector上でコンポーネントのチェックボックスが表示されない場合と、無効にしていても実行されるメソッドの話【Unity】

この記事でのバージョン Unity 5.4.0f3 はじめに GameObjectに付けたコンポーネントは、Inspector上にチェックボックスが表示され、有効無効を切り替えることができます。 ただ稀にこのチェックボックスが表示されないことがあります。 今回はそんな場合がど…

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というメソッ…

とある個人ゲーム開発者が独立したという話【雑記】

はじめに 明けましておめでとうございます!独立しました!! と言う事でとある個人ゲーム開発者こと私、Kan.Kikuchiが会社を辞めて独立したという話でした! 略歴