Blenderでプロジェクトのテンプレートを作成する
本日は Blender の小ネタ枠です。
Blenderでプロジェクトのテンプレートを作成する方法を記事にします。
テンプレートの作成方法
Blender のプロジェクトのテンプレートは Windows 環境では以下のディレクトリに保存されています。
C:\Program Files\Blender Foundation\Blender (バージョン番号)\(バージョン番号)\scripts\startup\bl_app_templates_system\
自作のテンプレートを作成したい場合は本ディレクトリに新規フォルダを作成します。
このフォルダ名がテンプレート名になります。
作成したフォルダに startup.blend というファイル名の .blend ファイルを保存します。
本ファイルがプロジェクトのテンプレートになります。
今回は以下のような視点の設定のみを行った何もないプロジェクトのテンプレートを作成しました。
テンプレートの利用
Blender を起動します。
起動時のモーダルまたはメニューの[ファイル -> 新規]からテンプレートを選択できます。
以下の通り、テンプレートファイルの内容でプロジェクトを新規作成できました。
CLIPSTUDIOでバケツ塗りでトーンのような塗りを行う
本日は CLIPSTUDIO の小ネタ枠です。
CLIPSTUDIOでバケツ塗りでトーンのような塗りを行う方法を記事にします。
バケツ塗りでトーンのような塗りを行う
以下の画像にトーンの塗りを行います。
メニューから[レイヤー -> 新規ラスターレイヤー]で塗り用のラスターレイヤーを作成します。
塗り用のラスターレイヤーにバケツで塗りを行います。
色は白から黒への階調の中で選びます。
塗り用のレイヤーを選択した状態で[レイヤープロパティ]から[効果 -> トーン]を選択します。
これでレイヤーにトーンの効果がかかり、塗った色がトーン調に変わります。
トーンのサイズ感や線の種類を変えたい場合は[レイヤープロパティ]で変更できます。
ただし線の種類についてはレイヤーで一律管理となります。
お手軽にトーン塗りを行いたい場合は役立ちます。
より細かくトーンを指定して利用したい場合は CLIPSTUDIO にはトーンレイヤーというトーン専用のレイヤーがあります。
Unityでスクリプトのテンプレートを作成する
本日は Unity の小ネタ枠です。
Unityでスクリプトのテンプレートを作成する方法を記事にします。
スクリプトテンプレートの作成方法
Unity プロジェクトの Assets フォルダ配下に[ScriptTemplates]という名前のフォルダを作成します。
この名前のフォルダがスクリプトテンプレートの保存フォルダになります。
ScriptTemplates フォルダ配下にテキストファイルを作成します。
右クリックから[Show in Explorer]でフォルダを開き、テキストファイルを作成します。
テキストファイルの名称でテンプレートの表示形式をコントロールできます。
ファイル名のフォーマットは以下の通りです。
[表示昇順(数字)]-[カテゴリ(省略可能)]__[テンプレート名]-[生成ファイル名(拡張子含む)].txt
カテゴリは省略することも繰り返すことも可能です。また __ の部分はアンダーバーを2つなので注意が必要です。
フォーマットに基づき、以下のファイル名のテキストファイルを作成しました。
81-Custom C# Script__EnableDisable C# Script-NewEnableDisableBehaviour.cs.txt
次にテキストファイルを開き、テンプレートの内容を記述します。
以下のテンプレートを作成しました。
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class #SCRIPTNAME# : MonoBehaviour { void OnEnable() { } void OnDisable() { } }
これでスクリプトテンプレートの作成は完了です。
StringBuilderを使ってUnityのUpdate関数内の文字列処理を効率的に行う
本日は .NET Framework の小ネタ枠です。
StringBuilder を使って Unity の Update 関数内の文字列処理を効率的に行う方法です。
StringBuilder
string クラスで文字列を行う場合、文字操作を何度も繰り返すとパフォーマンスが著しく低下する可能性があります。
Unity の Update 関数内など短い間隔で複数の文字処理を繰り返すケースでは StringBuilder を利用することでパフォーマンスの向上が期待できます。
docs.microsoft.com
パフォーマンス比較
以下の通り、それぞれ string または StringBuilder を使って Unity の Update 関数内で同じデバッグログの文字列を出力するサンプルスクリプトを作成しました。
再生開始から 5 秒間のみデバッグログの出力を動作させて、デバッグログの出力回数を比較してみます。
string の場合
・StringDebugLog.cs
using UnityEngine; public class StringDebugLog : MonoBehaviour { private float timeout = 5.0f; void Update() { if (Time.time > timeout) return; string stringText = ""; stringText += "LogMessage : "; for (int index = 0; index < 10000; index++) { stringText += $",{index}"; } Debug.Log(stringText); } }
5 秒間でのデバッグログの出力回数は 16 回でした。
StringBuilder の場合
・StringBuilderDebugLog.cs
using System.Text; using UnityEngine; public class StringBuilderDebugLog : MonoBehaviour { private float timeout = 5.0f; void Update() { if (Time.time > timeout) return; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("LogMessage : "); for (int index = 0; index < 10000; index++) { stringBuilder.Append($",{index}"); } Debug.Log(stringBuilder.ToString()); } }
5 秒間でのデバッグログの出力回数は 136 回でした。
結果、StringBuilder を使った方が文字列処理のパフォーマンスが高くなっていることが確認できました。
TextMeshProのテキスト入力でタグを利用して文字の間隔を調整する
本日は TextMeshPro の小ネタ枠です。
TextMeshProのテキスト入力でタグを利用して文字の間隔を調整してみます。
TextMeshProでタグを利用する
TextMeshPro では text 入力にタグを追加することで指定の部分の文字フォントや文字の間隔を変更することができます。
digitalnativestudios.com
横幅の設定
文字の横間隔を調整する場合は cspace または mspace を利用します。
cspace は文字間隔を、mspace は文字を含めた固定幅を設定します。
Tooltip Text <cspace=0.8en>Tooltip Text</cspace> <mspace=0.8en>Tooltip Text</mspace>
Tooltip Text <cspace=0.2en>Tooltip Text</cspace> <mspace=0.2en>Tooltip Text</mspace>
縦幅の設定
文字の横間隔を調整する場合は line-height を利用します。
設定範囲の行幅をパーセントで指定できます。
Tooltip Text <line-height=150%>Tooltip Text Tooltip Text</line-height>
Tooltip Text <line-height=50%>Tooltip Text Tooltip Text</line-height>
文字の間に小さい行間隔を開けたい場合は以下のように小さな改行を挟み込むことでも実現できます。
Tooltip Text Tooltip Text <line-height=25%> </line-height>Tooltip Text
Unityでカラーテーマにダークテーマを利用する
本日は Unity の小ネタ枠です。
Unityでカラーテーマにダークテーマを利用する方法です。
Unityのダークテーマ
Unity のダークテーマは Unity 2019.4.8 または Unity2020.1.2 以降ではどのライセンスでも利用できます。
それ以前のバージョンでは Pro ライセンスでのみ利用可能でした。
メニューから[Edit -> Preferences]を開き、[General]タブから変更できます。
docs.unity3d.com
[Editor Theme]で[Light]または[Dark]を選択できます。
Light テーマ
Dark テーマ