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

(:3[kanのメモ帳]

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

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

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にしろ、可視化するためには確認…

Code signing is required for product type 'Application' in SDK 'iOS 10.0'【iOS】【トラブルシューティング】

この記事でのバージョン Xcode 8.0 はじめに 今回はXcode8でビルドした時に、 Code signing is required for product type 'Application' in SDK 'iOS 10.0' と表示される場合の対処法の一つです。 Xcodeをアップデートする前は問題なかったのに、アップデー…

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

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

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

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