(:3[kanのメモ帳]

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

Unity

親子関係にせず、プログラムも書かずにPositionを追従させる【Unity】

この記事でのバージョン Unity 2018.1.0b2 はじめに Unityではオブジェクトを親子関係に配置すると、子のPositionが親のPositionに合わせて変化(追従)するようになります。 しかし、親子関係にするとPositionだけでなく、RotationやScaleも動いてしまいます…

完璧な2Dプラットフォーマーと謳われているCorgi Engineを試してみた【Unity】【アセット】

この記事でのバージョン Unity 2017.2.0f3 Corgi Engine Ver4.3 はじめに 以前、Unityのライセンス購入時に優良&有料アセット詰め合わせ(エッセンシャルパック)が貰えました。せっかく貰ったのだから試しに使ってみよう!記事にもしてみよう!というのがこの…

MonoDevelopがUnity2018.1で使えなくなるよって話【Unity】【エディタ】

はじめに なんとあのMonoDevelopがUnity2018.1から使えなくなります!(正確にはサポートされなくなる) 本当にMonoDevelopさんはいなくなってしまったんだね……。 pic.twitter.com/es4ikWoESn— カン神巫女 -KAMIKO- (@Kan_Kikuchi) January 10, 2018 先日、Un…

Asset Bundle Browserでアセットバンドルの設定や生成、確認を行う【Unity】【AssetBundle】

AssetBundleとは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はUnityが公式で配布してるツール、Asset Bundle Browserを使ってみました。 Asset Bundle Browserは名前の通りアセットバンドル用のツールで、アセットバンドルの設定や生成、確認を…

Odinを使ってシーン内を検証し、Inspectorでの設定に問題のあるオブジェクトを見つける【Unity】【アセット】

属性とは この記事でのバージョン Unity 2017.2.0f3 はじめに 以前にInspectorを圧倒的に使いやすくするOdinというアセットを紹介したのですが、 このOdin、Inspectorを使いやすくするだけでなく、なんとシーン内を検証し、Inspectorでの設定に問題のあるオ…

UnityからSlackにメッセージを送る【Unity】【Slack】

この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はタイトル通り、UnityからSlackにメッセージを送ってみよう!という記事です。Unityで作ったゲームに組み込むというよりは、エディタ拡張等の開発中に使う感じになると思います。 アクセストークンの…

UnityWebRequestの使い方【Unity】

この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はUnityでサーバとデータの送受信したい時に使うUnityWebRequestの話! 基本的な使い方やをちょっとした注意点をまとめてみました。 なお、UnityWebRequestを使うにはusing UnityEngine.Networking;が…

既に無効になっているGameObjectに、SetActive(false)を実行した時の負荷【Unity】【最適化】

この記事でのバージョン Unity 2017.2.0f3 はじめに GameObjectの有効無効を切り替える時にはSetActiveを使いますが、 既に無効になっているGameObjectに対して、SetActive(false)を実行した場合にどの程度の負荷が発生するのかって気になりませんか?なんか…

StartCoroutine(MonoBehaviour)を使わずにコルーチンを実行する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに Unityでは通常、コルーチン(Coroutine)を実行したい場合は以下のように、MonoBehaviourのStartCoroutineを使って実行します。 private void Start () { //StartCoroutineを使ってコルー…

日本語から変数や関数名を生成するエディタ拡張【Unity】【エディタ拡張】

この記事はUnity Advent Calendar 2017の11日目の記事です。 エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに プログラミングの難所の一つに、変数や関数の命名がありますが、その命名を手助けしてくれるcodicというツール(サービス)が…

UnityでAI(機械学習)事始め【Unity】【機械学習】

この記事はUnity 2 Advent Calendar 2017の7日目の記事です。 この記事でのバージョン Unity 2017.2.0f3 はじめに ちょっと前にUnityが機械学習用のSDK、Unity Machine Learning Agents (ML-Agents)を公開しました。 特に使う予定がなかったので触れずにいた…

エディタ拡張で配列の入れ替えが簡単に出来るReorderableListの使い方と全コールバック【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はエディタ拡張で要素の追加や入れ替えの出来るReorderableListのご紹介です! 目次 はじめに 目次 ReorderableList コールバック onAddCallback (+ボタンを押した時…

(ほぼ)Unityの技術ブログを週2で3年更新し続けて、いくら稼げたのか【Unity】【お金】【雑記】

はじめに Unityカテゴリの記事300本目を記念して、いつもとちょっと違ったお話をしようと思い、Twitterでアンケートを取った所、以下のような結果となりました。 次の記事でUnityカテゴリがちょうど300本なんで、いつもと違う感じのやつ書こうと思っているん…

Inspectorを圧倒的に使いやすくするOdin【Unity】【アセット】【エディタ拡張】【属性】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はInspectorを圧倒的に使いやすくするOdinというアセットの紹介です! Odinは導入するだけInspectorの見栄えを良くし、更に80以上の属性を追加する事でInspectorを圧倒的に…

エディタを実行していない時にSceneView上でクリックした座標を取得したけどRetinaディスプレイだとズレた話【Unity】

この記事でのバージョン Unity 2017.2.0f3 はじめに 以前、エディタを実行していない時にSceneView上でクリックした座標を取得する方法をご紹介したのですが、 実はこの方法、そのままRetinaディスプレイでやるとズレる事が判明しました。 なので今回はこれ…

エディタ拡張で折りたたみ(Foldout)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はエディタ拡張で折りたためるGUIを実装する方法のご紹介です! EditorGUILayout.Foldout

C#のコンパイル時間の短縮【Unity】

この記事でのバージョン Unity 2017.2.0f3 はじめに Unityではコードを変更して保存すると、自動でコンパイルが実行され、右下にコンパイル中のマークが表示されます。(Editor Console ProならCOMPILINGと表示) ゲームの規模が大きくなったり、色々なコード…

無限ループを止めるアセット「Panic Button」【Unity】【アセット】

この記事でのバージョン Unity 2017.2.0f3 はじめに Unityでは無限ループに陥ってしまった時にそれを止める術がありません。頻繁に起こる事ではないとは言え、やっぱり無限ループが起きても停止出来るようにしたいですよね?今回はそんな悩みを解消するアセ…

文字列がTextにピッタリ収まるサイズを取得する方法と注意点【Unity】【uGUI】

この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はタイトル通り、uGUIのTextで文字列がぴったり収まるサイズを取得する方法のご紹介です! preferredWidth, preferredHeight

適してないと言われたけど、試しにAssetBundleをNCBMのファイルストアで使ってみた【Unity】【AssetBundle】【NCMB】

AssetBundleとは NCBMとは この記事でのバージョン Unity 2017.2.0f3 NCMB 3.1.0 はじめに Asset Bundleをサーバーに置いてダウンロードする、というのを試してみようとしてた時にNCBM(ニフティクラウド mobile backend)のファイルストア機能というものを思…

エディタ拡張の処理終了時に音を鳴らして知らせる【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに エディタ拡張で重い処理を作った際に、処理が終わった事を知らせて欲しい時ってありますよね?今回はそんな時に、処理の終了を音を鳴らして知らせる方法のご紹介です! ちなみに、処理の…

Resources外にあるMultipleなSpriteを取得する【Unity】

この記事でのバージョン Unity 2017.2.0f3 はじめに UnityではSprite ModeをMultipleにすると1枚の画像に複数のSpriteを設定する事が出来ます。 この複数のSpriteを全て取得する場合は、以下のようにResources.LoadAllを使います。 //Resources直下にあるUI…

1Asset = 1AssetBundleにした場合と、まとめた場合でのロード時間比較【Unity】【AssetBundle】

AssetBundleとは この記事でのバージョン Unity 2017.2.0f3 はじめに AssetBundleを使う上での検討事項として、どれぐらいの規模でAssetをまとめればいいのかというものがあります。 用途や状況によって分け方は変わってくるとは思いますが、今回はローカル…

ビルド時にプラットフォームに合わせてAssetBundleを移動する【Unity】【AssetBundle】【エディタ拡張】

エディタ拡張とは AssetBundleとは この記事でのバージョンUnity 2017.2.0f3 はじめに AssetBundleをローカルで使いたい場合はStreamingAssetsというディレクトリに配置すると使い易いです。 StreamingAssets と呼ばれるフォルダーに配置したファイルはビル…

アセットのアセットバンドル名をプログラムから設定する方法【Unity】【AssetBundle】【エディタ拡張】

AssetBundleとは エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに AssetBundleを生成する時にはアセットのアセットバンドル名を設定する必要があります。 Inspector上から手動で設定する事も可能ですが、量が増えてると面倒だし、なによ…

AssetBundleとは【Unity】【AssetBundle】

この記事でのバージョン Unity 2017.1.1f1 はじめに 今回はUnityのAssetBundleについての記事です! 個人開発だとサーバを使わない事も多いので、AssetBundleという名前は聞いた事はあるけど、使ったことはないし、よく知らない!みたいな方もいるかと思いま…

エディタ上で再生を開始するSceneを固定する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに Unityのエディタ上では再生ボタンを押すと、当たり前ですが今開いているシーンが再生されます。 場合によっては開いているシーンとは別のシーン(初期化用シーン等)から常に再生を開始し…

複数のSceneを順に読み込み、各Sceneの全GameObjectを取得する【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 2017.1.1f1 はじめに 今回は複数のSceneを順に読み込み、各Sceneの全GameObjectを取得する方法のご紹介です!文章だと分かり難いですが、例えば以下のようにScene1,2,3があった時に、 Scene1を…

楽にシーンを開く拡張機能を作ってみた(マルチシーン対応)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに 今回は楽にシーンを開く拡張機能のご紹介です! この機能が特に活躍するのがマルチシーン(Multi Scene Editing)で開発している時で、複数のシーンの切り替えを一瞬で出来るのでかなり便…

エディタ非実行時にプログラムからシーンの開閉を行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はタイトル通り、エディタ非実行時にプログラムからシーンの開閉を行う方法のご紹介です! エディタ拡張で特定のシーンを開きたい、閉じたいなんて時に役立つ話です。 EditorSceneMa…