(:3[kanのメモ帳]

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

(:3[kanのメモ帳]

Unity公式の2D用のライト Light2D【Unity】

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


はじめに

以前にUnityの3D用ライトを2Dで使う方法や、

f:id:kan_kikuchi:20170816184902j:plain


2Dで光や影の表現をするためのアセットを紹介しました。

f:id:kan_kikuchi:20170816124630g:plain


これらはUnityで2D用のライトが存在しないからこその話だったのですが、

なんとついにUnity公式の2D用のライトであるLight2Dが登場しました。


という事で今回は、そのUnityの2D用ライトを実際に試してみた感じの記事です。

イメージとしては以下のような感じで、使い勝手も良く、表現力もかなり高そうでした。

f:id:kan_kikuchi:20190815111624g:plain


ちなみに、この機能はUnity2019.2以降で使えますが、現状Experimental(実験的)な機能なので、

今後大きく仕様が変わる可能性もある点には注意が必要です。

(個人的には実用にはまだちょっと早いと思っています。)


なお、記事中の画像は以下のアセットを使っております。





導入

続きを読む

スクリーンのスリープ設定【Unity】

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


はじめに

今回は「Unityで作ったアプリを起動してると、自動スリープしない!させたい!」

みたいな場合の話です!


Screen.sleepTimeout

Unityでスクリーンのスリープ設定を変更する時はScreenのsleepTimeoutを使います。



このsleepTimeoutにSleepTimeout.SystemSettingを設定すれば、

端末で設定された時間でスリープするようになります。

//端末で設定された時間でスリープするように
Screen.sleepTimeout = SleepTimeout.SystemSetting;


例えばiOSなら、設定の「画面表示と明るさ」にある「自動ロック」の時間でスリープします。

(OSのバージョンによっては場所が違うかもしれません)

f:id:kan_kikuchi:20190806081400j:plain

f:id:kan_kikuchi:20190806081408j:plain


なお、スリープしないようにしたい場合はSleepTimeout.NeverSleepを設定します。

(デフォルトはこの設定)

//スクリーンがスリープしないようにする
Screen.sleepTimeout = SleepTimeout.NeverSleep;


ちなみにScreen.sleepTimeoutはintですが、スリープしたい時間を設定したりは出来ません。

//10秒でスクリーンをスリープさせたつもり!
//でも実際はSleepTimeout.NeverSleep(-1)の設定に
Screen.sleepTimeout = 10;



ギズモで矢印、円柱、カプセル、円、弧を描画出来るようにするGizmoExtensions 【Unity】【Gizmos】

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


はじめに

UnityではGizmosを使ってSceneView上に線や図形などを描画が出来ます。

(GameViewには表示されないので、エディタ上での確認用)

public class NewBehaviourScript : MonoBehaviour{
   
  private void OnDrawGizmos() {
    //赤い色で0,0,0から上に1の線を引く
    Gizmos.color = Color.red;
    Gizmos.DrawLine(Vector3.zero, Vector3.up);
  }

}
f:id:kan_kikuchi:20190807075041j:plain


そんなGizmoで矢印かきたいな〜と思ったら、なんと既にその機能を作られた方がいました。



という事で今回は、それを紹介する感じの記事です!

イメージとしては以下のような感じで、矢印以外にも色々な図形をかけるようになります。

f:id:kan_kikuchi:20190807083516g:plain



GizmoExtensions

続きを読む

一瞬であらゆるゲームオブジェクト(メッシュ)を爆発させるExploder【Unity】【アセット】

この記事はUnityアセット真夏のアドベントカレンダー 2019の8日目の記事です。


この記事でのバージョン
Unity 2018.4.4f1
Exploder 1.7.10


はじめに

今回は一瞬であらゆるゲームオブジェクト(メッシュ)を爆発させるExploderというアセットの紹介です!



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

f:id:kan_kikuchi:20190804085922g:plain


ちなみに、同じ開発元が2Dバージョンも出してるようです(未確認)。



なお、記事中の画像は以下のアセットを使っております。





目次

  • はじめに
  • 目次
  • 基本的な使い方
  • 同時に全て爆発
  • 一部分だけ爆発
  • 爆発の設定と、設定を複数作る方法
  • 初回爆発時の処理落ち対策


基本的な使い方

続きを読む

Unityエディタを再生する前に、シーンに問題ないか検証する【Unity】【エディタ拡張】


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


はじめに

今回は「シーンを再生する前に問題がないかの検証を挟みたい」という場合の話。


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

f:id:kan_kikuchi:20190720051702g:plain


なお、記事中の画像は以下のアセットを使っております。





SceneVerifier

続きを読む

uGUIの画像(Image)の内側を切り抜いて(逆マスクで)表示【Unity】【uGUI】

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


はじめに

UnityはSpriteRendererでもuGUIのImageでも、画像一部分だけを表示する

いわゆるマスクを簡単に実装する事出来ます。


f:id:kan_kikuchi:20170802074348g:plain


ただ、画像の内側を切り抜いて表示する(逆マスク)は、uGUIのImageでは出来ません。

f:id:kan_kikuchi:20170802081416j:plain


ということで今回は、uGUIのImageで逆マスクを実装する方法の紹介です。

f:id:kan_kikuchi:20190728113617g:plain


なお、記事中の画像は以下のアセットを使っております。



UnmaskForUGUI

続きを読む

DOTweenの警告を非表示にする方法【Unity】【アセット】【DOTween】

この記事でのバージョン
Unity 2018.4.1f1
DOTween v1.2.250 (DOTweenPro V1.0.155)


はじめに

Unityで位置や大きさなどのアニメーション、

いわゆるTweenを実装するアセットとしてお馴染みのDOTween



そんなDOTweenをデフォルトの状態で使っていると、何やら警告が出る事があったりします。

DOTWEEN ► Tween startup failed (NULL target/property - ): the tween will now be killed ► The object of type 'Transform' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Debug:LogWarning(Object)

f:id:kan_kikuchi:20190721045458j:plain


このまま使っても特に問題はないのですが、

警告が出っぱなしというのも気持ちが悪いので、今回はこれを表示しないようにする感じの話です。


セーフモード

続きを読む

特定のシーンだけ別のシーンから再生されるようにする【Unity】【エディタ拡張】


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


はじめに

今回は「このシーンで再生ボタンを押したら、違うシーンを再生してほしい!」

みたいなちょっとトリッキーな話。


以前に、どのシーンからでも再生を開始するシーンを固定するという記事は書きましたが、




これの特定のシーンVerといった具合で、イメージとしては以下のような感じ。

f:id:kan_kikuchi:20190716080453g:plain


ちなみに、「再生出来ないようにしたい」という場合は以下の記事を参照のこと。

f:id:kan_kikuchi:20190715060906g:plain


なお、記事中の画像は以下のアセットを使っております。





ScenePlayBlocker

続きを読む

DoScaleとAnimationCurveの併用で起きた問題と解決方法【Unity】【アセット】【DOTween】【トラブルシューティング】

この記事でのバージョン
Unity 2018.4.1f1
DOTween v1.2.250 (DOTweenPro V1.0.155)


はじめに

Unityで位置や大きさなどのアニメーション、

いわゆるTweenを実装するアセットとしてお馴染みのDOTween



そんなDOTweenを使っていて、以下のような感じでちょっとハマった事があったので、

f:id:kan_kikuchi:20190714062234g:plain


今回はその現象と解決した方法について記事にしてみました。


なお、記事中の画像は以下のアセットを使っております。





DoScale

続きを読む

特定のシーンだけ再生出来ないようにする【Unity】【エディタ拡張】


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


はじめに

今回は「このシーンは再生はしてほしくない!」みたいなシーンがある場合に

そもそも再生出来ないようにするというちょっとトリッキーな話。


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

f:id:kan_kikuchi:20190715060906g:plain


ちなみに、「特定のシーンだけ別のシーンから再生されるようにしたい」

という場合は以下の記事を参照のこと。

f:id:kan_kikuchi:20190716080453g:plain


なお、記事中の画像は以下のアセットを使っております。





ScenePlayBlocker

続きを読む