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

(:3[kanのメモ帳]

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

読み込まれている全シーンの取得【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が会社を辞めて独立したという話でした! 略歴

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 はじめに 今回はタイトル通り、クラスを丸ごと保存するデータの管理方法のご紹介です! ざっくり言うと、永続化したいデータを一つ一つ保存したりするのは…

進数の変換と64進数【C#】

C#

はじめに 今回はC#で進数を変換する方法のご紹介!ついでに64進数の相互変換を行うクラスも作ってみたりしました。 System.Convert

自分が自分であり続けるための十の指針【雑記】

この記事は行動指針 Advent Calendar 2016の8日目の記事です。 目次 目次 はじめに 自分の知識すら疑うべし。 誰にでも、どんな状況でも最適な方法なんてない。 才能を語る領域にあらず。 Bestが出ないなら、Betterを重ねればいいじゃない。 ストレスはモチ…

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対応端末から操作すればテストすることができ…

Google Playをスマホで見ると動画が表示されるのに、PCから見た時は動画が表示されない場合の対処法【Android】【トラブルシューティング】

はじめに Google PlayではYoutubeに投稿した動画をアプリのページに表示する事が出来ます。 しかし、スマホで見ると動画が表示されるのに、PCから見た時は動画が表示されないという問題が発生する事があります。今回はそれの原因と対処法のご紹介です! URL