(:3[kanのメモ帳]

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

Unity

SpriteやImageで9Sliceを使う【Unity】【uGUI】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はタイトル通り、SpriteやImageで9Sliceを使ってみようという記事です。ここで言う9Sliceとは画像を9分割し、分割した領域毎に拡大縮小を行う処理の事です。 なお、記事中の画像は以下のアセットを使…

SpriteやImageでMaskを使う【Unity】【uGUI】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はタイトル通り、SpriteやImageでMaskを使ってみようという記事です。ここで言うMaskとは画像を任意の形に切り抜いて表示するような処理の事です。 なお、記事中の画像は以下のアセットを使っておりま…

Serializableなクラスをフィールドにしたら、nullなのにコンストラクタが実行される件【C#】【Unity】【トラブルシューティング】

この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はタイトル通り、Serializableなクラスをフィールドにしたら、nullなのにコンストラクタが実行された話です。 コンストラクタが実行される

SpriteAtlasを使い易くする拡張【Unity】【エディタ拡張】【拡張メソッド】

エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 2017.1.0f3 はじめに 前回はSpriteAtlasの使い方等について紹介すると同時に、GetSpriteで取得する際に文字列で指定する事や、全Spriteの取得が面倒という問題点をあげました。 なので、今…

Spriteをパックする新しい仕組み、SpriteAtlasを使ってみた【Unity】

この記事でのバージョン Unity 2017.1.0f3 はじめに Unity 2017から新たにSpriteAtlasなるものが追加されました。 今までもSpriteをパックする(一つの画像にする)機能としてSpritePackerがありましたが、ちょっと使ってみた感じ、SpriteAtlasの方がかなり良…

Lightが反映されない時の対処法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.6.1f1 はじめに 今回はLightを設置したのに反映されない!という状況を解決するかもしれない方法のご紹介です Pixel Light Count

属性(Attribute)とは【C#】【Unity】【属性】

この記事でのバージョン Unity 5.6.1f1 はじめに 今回はタイトル通り、属性(Attribute)とはなんぞや?という感じの記事です。なお、基本的にUnity+C#での話になりますので、あしからず。 目次 はじめに 目次 属性とは 使い方 オリジナル属性の作り方 Inspect…

UnityでAssertを使う(Debug.Assert と Assertions.Assert)【Unity】

この記事でのバージョン Unity 5.6.1f1 はじめに 今回はタイトル通り、UnityでAssertを使ってみよう!という記事です。 //IsTrueは条件が真である事を確認する(偽であればエラーを出す) Assert.IsTrue(_notActiveGameObject.activeSelf, "_notActiveGameObje…

安心安全にUnitySendMessageを使う【Unity】【iOS】

この記事でのバージョン Unity 5.6.1f1 Xcode 8.3.2 はじめに UnityではiOSのネイティヴコードからC#(またはjs)を実行するためのメソッド、UnitySendMessageが用意されています。 Unity iOS は、“UnitySendMessage” を媒介に、限定的なネイティブからマネー…

神巫女のSPに関する工夫の話【ゲーム演出】【Unity】【NintendoSwitch】

はじめに 先日、Nintendo Switchでリリースし、2017年上半期ダウンロードランキングで4位にもなった神巫女 Nintendo Switch 2017年上半期 ダウンロードランキング|Nintendo に関するインタビューをUnityさんにしてもらったのですが、その際にSPの話題がでま…

エディタ拡張でオブジェクトを生成した場合にシーンを保存する方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 例えば以下のようなコードで、オブジェクトを生成するエディタ拡張を作る事が出来ますが、 using UnityEngine; using UnityEditor; public class GameObjectCreator { [MenuItem("Test/Crea…

検索時にRequest errorというエラーがでる時の対処法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 5.6.1f1 はじめに 今回は検索時にRequest errorというエラーができる時の対処法です。 Show Asset Store search hits

ビルド直前にシーンを自動で設定をしようとしてみた【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 以前に自動でシーンを追加する方法を紹介したのですが、 これとUnity5.6から追加されたIPreprocessBuildを併用すれば、ビルド直前にシーンを自動で設定出来るのでは?と、そんな事を思い付…

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からアプリ内でレビューを付けられるようになりました。 しかも、この公式の機能以外で評価を促す事は禁止となるようです。 アプリ上で評価を促す際には、…

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

はじめに このブログに投稿した記事の中から、人気があったモノや有益っぽい気がするモノを厳選し、カテゴリ別にまとめてみました!随時更新中! 2017.09.27更新以下の項目を追加 - 変更と3Dモデルの子を減らして、Transformを最適化 - ジャンル別、気になる…

カーソルの設定【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)についての利用条件は以下の通り…

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に設定すると起動時にユ…