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

(:3[kanのメモ帳]

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

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

この記事でのバージョン
Unity 5.6.0f3


はじめに

Unityではシーン遷移時にシーン上のGameObjectは全て破棄されてしまいます。

なので、破棄したくない物にはDontDestroyOnLoadを実行して、永遠に破棄されないようにします。

DontDestroyOnLoad(gameObject);

f:id:kan_kikuchi:20170507170530j:plain


ただ、このやり方だとDontDestroyOnLoadしたオブジェクトは自動では永遠に破棄されないので、

特定のシーンでだけ破棄されないようにするにはひと工夫必要です。


という事で今回は、特定のシーンでだけ破棄されないオブジェクトの実装方法をご紹介!

イメージとしては以下のような感じ。


f:id:kan_kikuchi:20170520061817g:plain


Hieararchyを見るとシーンを移動する度に

不要なGameObjectが破棄されているのが分かるかと思います。


DontDestroyObjectManager

続きを読む

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

この記事でのバージョン
Unity 5.6.1f1


はじめに

今回はタイトル通り、シーンの遷移とフェードを管理するクラスのご紹介!

なるべく分かり易いようにシンプルな作りにしてみました。イメージとしては以下のような感じ。

//シーンの遷移とフェードを管理するオブジェクトの作成
new GameObject().AddComponent<SceneNavigator>(); 

//シーンの遷移&フェード
SceneNavigator.Instance.Change("SceneName");

f:id:kan_kikuchi:20170516055601g:plain


SceneNavigator

続きを読む

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

この記事でのバージョン
Unity 5.6.1f1


はじめに

Unityを5.6.1f1にアップデートした所、見慣れぬ項目がある事に気付きました。

その名もEdge Radius !


f:id:kan_kikuchi:20170518054251j:plain


ちょっとビックリしたので記事にしてみました。


Edge Radius

続きを読む

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

この記事でのバージョン
Unity 5.6.0f3


はじめに

今回はタイトル通り、

エディタを実行していない時にSceneView上でクリックした座標を取得する方法のご紹介です!

イメージは以下のような感じ。


f:id:kan_kikuchi:20170511055804g:plain


GameViewでも同様の事は可能ですが、SceneViewは表示範囲を簡単に変更出来るので、

1画面で収まらない時などに使うと便利です。


ClickPositionOnSceneGetter

続きを読む

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)についての利用条件は以下の通りです。


個人用
個人開発者の方はどなたでも、独自の無料/有料のアプリを作成するために Visual Studio Community for Mac を使用できます。

組織用
組織が学習環境のクラスルームで、アカデミックな研究のため、あるいはオープン ソース プロジェクトに寄与するために、Visual Studio Community for Mac を使用する場合には、ユーザー数に制限はありません。
それ以外の使用シナリオ:
エンタープライズ以外の組織では最大 5 ユーザーで Visual Studio Community for Mac を使用できます。 エンタープライズ組織 (PC 250 台または年間売上が 100 万米ドルの組織) については、オープン ソース、アカデミックな研究、学習環境のクラスルームといった前述のシナリオ以外で使用することはできません。


ちなみに、デバッグ機能を使うにはUnity 5.6.1f1以上が必要です。





インストール

続きを読む

Timelineとは【Unity】【Timeline】

この記事でのバージョン
Unity 2017.1.0b2


はじめに

先日、2017.1.0 (beta)のリリースノートにも書かれたりと、最近よく聞くTimelineなるもの。



名称と使用例から、どんな物なのかはなんとなく分かってるような気がするのですが、

いまいち理解が乏しい感じがするので、ちょっと調べたり、使ったりしてみました!


Timelineとは

続きを読む

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

この記事でのバージョン
Unity 5.6.0f3


はじめに

先日「"/" で区切ってタグを定義すると、自動的に区分けしてくれる」

という情報を目撃しまして、



Tagがなるのなら、もしやLayerやSorting Layerも……?

と試してみた所、


f:id:kan_kikuchi:20170423125109p:plain


f:id:kan_kikuchi:20170423125119p:plain


予想通り、LayerやSorting Layerも区分け出来たので

驚きついでに記事にしてみました!


なお、プログラムで設定する場合はそのまま"/"を含めるだけです。

gameObject.tag = "TagTest/Test1";


また、区分けすると見た目が整理されるだけでなく、

以下のように区分け事に処理を行うなんて使い方も可能です。

//タグがTagTestに区分けされたもの(TagTest/Test1とかTagTest/Test2とか)ならログを表示する
if(gameObject.tag.Contains("TagTest/")){
  Debug.Log("うぇ乁( ˙ω˙ ) 厂ーい");
} 



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

この記事でのバージョン
Unity 5.5.2f1


はじめに

Unity5.3からマルチシーンエディティングという複数のシーンを同時に扱う機能が追加されました。



今回はこの機能に関連して、現在読み込まれている全シーンの取得を行う方法のご紹介です。


sceneCountとGetSceneAt

続きを読む

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

この記事でのバージョン
Unity 5.6.0f3


はじめに

UnityではResourcesに入っているファイルは基本的に全て、ビルドに含まれてしまいます。

なので、ビルドしたくないファイルはResourcesに入れてはいけないのですが、

場合によってはResourcesに入れたいけど、ビルドには含めたくない!という場合もあると思います。


という事で今回は、Resourcesにあるファイルをビルド時にのみ移動する方法のご紹介です。


ResourcesAutoEvacuator

続きを読む