(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


ほぼ同じだけど少し設定が違うPrefabを量産したい時に便利なPrefab Variant 【Unity】

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


はじめに

UnityではPrefabを使うことで同じオブジェクトを簡単に使い回すことが可能で、

元のPrefabを変更すれば全てのPrefabに変更が反映されます。

プレハブ - Unity マニュアル


ただ、「UIの色を一部だけ変えたい」「キャラの設定をちょっとだけ変えたい」みたいな

「基本はそのPrefabを使いたいんだけど、ちょっとだけ設定を変えたい」みたいな事がよくあります。


それが1個だけなのであれば、Prefabを設置した後に設定を変えればいいのですが、

複数箇所で使い回す場合はそれも面倒です。


今回はそんな時に使える機能、Prefab Variantの紹介です!


Prefab Variant

続きを読む

Text Animatorで特定の文字まで到達した瞬間を検知するイベントを実装する方法【Unity】【アセット】【Text Animator】

この記事でのバージョン
Unity 6000.1.11f1
Text Animator 2.3.1


はじめに

以前テキストにアニメーションを追加したり、


文字送り(文字を最初から順番に表示する)を実装出来たりする、


Text Animatorというアセットを紹介しました。

Text Animator for Unity - Unity Asset Store


今回はこのText Animatorで特定の文字まで到達した瞬間を検知するイベントである、

Trigger Events when typingという機能の紹介です!

画像を変える<?ChangeImage=NewTax><waitfor=1.0>、
もう一回画像を変える<?ChangeImage=OneChance><waitfor=1.0>、変わった?



イベント

続きを読む

Unityプロジェクトを解析し、改善点を教えてくれるProjectAuditorが公式パッケージ化【Unity】【最適化】

この記事でのバージョン
Unity 6000.1.11f1
ProjectAuditor 1.0.1


はじめに


以前、プロジェクトを解析し、改善点を教えてくれるProjectAuditorというツールを紹介したのですが、

この時はUnityの人によって作られた物であるものの、Unity公式のサポートはない状態でした。



それがUnity6.1から正式にUnityに組み込まれ、サポートされるようになったので、

今回は改めて、ProjectAuditorの紹介記事です!



導入

続きを読む

ScrollRectのスクロール量がMacとWindows、トラックパッドとマウスで違う問題【Unity】【uGUI】

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


はじめに

UnityのuGUIにはScrollRectというスクロールするUIを簡単に実装出来るコンポーネントがあります。



このScrollRectには scrollSensitivity というマウスホイールやトラックパッドの2 本指スクロールなどで

どれだけスクロールさせるかという、スクロールの倍率を設定する事が出来ます。

(スマホのようなタッチ操作や、PCでも引っ張って操作する場合には無関係)


しかし、自分の環境だとMacだと1ぐらい、Windowsだと10ぐらいがちょうどよくなり、

同じマウスを使ったとしてもOSによって挙動が変わってしまっていました。


という事で今回は、ScrollRectのスクロール量( scrollSensitivity )をどう調整するかという話です。


ScrollRectのスクロール量( scrollSensitivity )をどう調整するか

続きを読む

サマーセール開催!約300のアセットが50%オフ!日替わりで最大98%になるフラッシュディールも同時開催中!【Unity】【アセット】

はじめに

Unity Asset Storeにてサマーセールが始まっています!


約300ものアセットが50%オフになっている上に、

Unity Asset Store - サマーセール


24時間限定で最大98%オフにもなるフラッシュディールも同時開催されています!

Unity Asset Store - フラッシュディール


今回はこのセールに便乗して、

今まで書いた「アセット紹介記事の中からセール対象になっているもの」をまとめてみました!


目次

  • はじめに
  • 目次
  • エディタ拡張系アセット
    • Hot Reload : コードの変更してもコンパイルをせずに即座に適用
    • Editor Console Pro : Consoleの拡張
    • Odin : Inspectorの拡張、シーン内の検証
    • Asset Hunter PRO : 使ってないアセットの検索と削除 (※フラッシュディール対象)
  • セーブデータ系アセット
    • Easy Save : 簡単にセーブ&ロード&暗号化を実装
    • Anti-Cheat Toolkit : チート対策&検出
  • 実装手助け系アセット
    • Text Animator : テキストのアニメーションを簡単に実装
    • InControl : ありとあらゆるコントローラーに対応
    • Mesh Baker : メッシュの合成
    • Very Animation : Unity上でアニメーションの編集や新規作成
    • Magic Light Probes : ライトプローブの自動で配置
    • Pro Camera 2D : 2Dゲームのカメラ操作 (※フラッシュディール対象)
    • Corgi Engine : 2D横スクロールゲーム用エンジン
    • Technie Collider Creator 2 : コライダーを簡単自動作成
  • エフェクト、演出系アセット
    • Damage Numbers Pro : テキスト(数字や文字列)のポップアップ演出
    • Beautify 3 : 簡単にゲームの見栄えを綺麗にする
    • Magica Cloth 2 : 髪や胸、スカート等を簡単かつ自然に揺らせる
    • True Shadow : uGUIのテキストや画像に綺麗な影やグローを追加
    • Translucent Image : 背景を低負荷かつ良い感じにボカす
    • All In 1 Sprite Shader : 2Dの万能Shaderセット


エディタ拡張系アセット

続きを読む

Scene上だけ非表示にしたり、選択できないようにするSceneVisibilityManager【Unity】【エディタ拡張】


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


はじめに

UnityはHierarchyの左側のアイコンを押すことで、

Sceneビュー上で非表示にしたり、選択できないようにしたり出来ます。

(切り替えてもGameビュー上では普通に表示される)


今回はこれをプログラムで操作する方法の紹介です!


SceneVisibilityManager

続きを読む

Unityでビルドした時に出来るBurstDebugInformation_DoNotShipフォルダの必要性と消し方【Unity】

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


はじめに

Unityで実機用にビルドすると

〇〇_BurstDebugInformation_DoNotShipという感じのフォルダが生成されることがあります。


今回はこれがどういうもので、必要なのかどうかという話です!


BurstDebugInformation_DoNotShip

続きを読む

TMPのSprite AssetのDefault Sprite Aseetをプログラムからランタイムに変更する【Unity】【TextMesh Pro】

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


UnityのTextMesh Proにはテキスト中に好きな画像を表示させる機能(Sprite Asset)があり、


その設定ファイルであるTMP SettingsのDefault Sprite Assetという項目で、

全TextMeshProで共通で使える画像を設定することが出来ます。


ただ、このファイルは一つしか設定できないので、

「テキスト内の画像を言語ごとに変えたい」みたいな時にちょっと不便です。


ということで今回はDefault Sprite Aseetをプログラムからランタイムに変更する方法の紹介です!!


といってもTMP_SettingsにdefaultSpriteAsset(static)が用意されているので、

そこにスプライトアセット(TMP_SpriteAsset)を設定するだけ。

//Default Sprite Aseetの変更 (spriteAssetDefaultはTMP_SpriteAsset)
TMP_Settings.defaultSpriteAsset = spriteAssetDefault;



ログのラッパークラスのログをクリックしても呼び出し元に飛ぶようにする&ラッパーをConsoleに表示しない方法【Unity】

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


はじめに

Unityでリリース時はログを消すたりするために、

ログのラッパークラス&メソッドを作ることがよくあります。

public static class LogPrinter {
  
  public static void LogNormal(object message) {
    UnityEngine.Debug.Log(message);
  }

}
//Debugの代わりにLogPrinterを使う感じ
LogPrinter.Normal("ログテスト");


ただこれだと、ログをクリックした時にラッパーの方に飛んでしまいます。


ということで今回はラッパークラスのログをクリックしても呼び出し元に飛ぶようにする

&ラッパーをConsoleに表示しない方法の紹介です!!

◯◯Loggerクラス + Log◯◯ メソッド

続きを読む