Skip to content

アンロック可能アイテム

アンロック可能機能を使用すると、ロック状態またはアンロック状態の永続的な状態を持つアイテムを管理できます。CGやムービーギャラリーのスロット、実績、ヒント、およびプレイヤーが条件を満たしたときに何らかのエンティティがアンロックまたはアクティブ化できるようにする必要があるその他のシステムを表すために、さまざまな方法で使用できます。

各アンロック可能アイテムは、文字列識別子と、アイテムがアンロックされているかどうかを示すブール値で表されます。シナリオスクリプトでは、@unlock および @lock コマンドを使用して、特定のIDを持つアイテムをアンロックおよびロックします。

nani
@unlock SecretAchievement

— はアイテム SecretAchievement をアンロックし、

nani
@lock SecretAchievement

— はそれを再びロックします。

アイテムのアンロック状態は グローバルスコープ の下に保存され、ローカルゲームセッションには依存しません。たとえば、アイテムをアンロックした場合、プレイヤーが新しいゲームを開始したり、保存されたゲームをロードしたりしても、再びロックされることはありません。

実際の GameObject ↗ をアンロック可能アイテムにバインドするには、Unlockable Events コンポーネントを使用します。

cover

Unlockable Item Id フィールドにアイテムのIDを設定し、アイテムがアンロックされたときに実行されるコマンドをバインドします。上記の図では、たとえば、SecretAchievement がアンロックされたときにGameObjectをアクティブにし、ロックされたときに非アクティブにします。

C#では、UnlockableManager エンジンサービス を使用してアンロック可能アイテムにアクセスできます。

EXAMPLE

C#スクリプトなしでアンロック可能システムを使用して音楽ギャラリーを実装する例は、UIサンプル にあります。他のタイプのアンロック可能ギャラリー(ムービー、実績など)も同様の方法で実装できます。

アンロック可能リソース

アンロック可能構成メニュー(Naninovel -> Configuration -> Unlockables)の下に、アンロック可能機能で使用する任意のアセットを保存できるリソースマネージャーがあります。

cover

アンロック可能リソースは、CGギャラリー などの組み込みのアンロック可能システムによって使用されます。独自のカスタムシステムにマネージャーを利用することもできます。

CGギャラリー

CGギャラリー機能を使用すると、ゲーム全体でアンロックできるテクスチャリソース(画像)を指定し、タイトルメニューからアクセスできる ICGGalleryUI UIを介して閲覧できます。

cover

デフォルトでは、CG プレフィックスを持つテクスチャリソース(アンロック可能リソースマネージャーを介して追加されたもの、または同じプレフィックスを持つ MainBackground アクターの背景スプライトリソースとして提供されたもの)は、アンロック可能なCGアイテムと見なされます。

アンロック可能なCGアイテムをギャラリーに追加するには、パスの前に CG を追加して既存のメイン背景リソースの1つを使用するか:

cover

—または、Naninovel -> Resources -> Unlockables でアクセスできるアンロック可能リソースマネージャーを使用して「スタンドアロン」テクスチャを追加します。

cover

複数のCGを1つのギャラリー(例:単一のシーンのバリエーション)にグループ化するには、アンロック可能IDに _ とそれに続く数字を追加します。たとえば、次のIDを持つCGを追加した場合:

  • CG/EpicScene_1
  • CG/EpicScene_2
  • CG/EpicScene_3

—これらは単一のCGスロットの下にグループ化され、プレイヤーが画面をクリックするとクロスフェード効果で順番に表示されます。

NOTE

UIグリッド内のCGスロットは、左から右、上から下に配置され、アンロック可能パス名で並べ替えられます。リソースエディタメニュー内の位置は無視されます。特定の順序でスロットを配置したい場合は、リソースにそれに応じた名前を付けます。例:

  • CG/01
  • CG/02_1
  • CG/02_2
  • ...
  • CG/35
  • CG/36

CGアイテムをアンロックおよびロックするには、それぞれ @unlock および @lock コマンドを使用します。たとえば、上記の図で追加された CG/Map アイテムをアンロックするには、次のスクリプトコマンドを使用します。

nani
@unlock CG/Map

アンロック可能リソースと背景リソースの両方を使用してCGアイテムを提供する場合、アンロック可能マネージャーで指定されたリソースが最初にCGギャラリーに表示されます。この動作や、利用可能なCGリソースが実際に取得されるソースは、CGギャラリーを表すUIプレハブのルートにアタッチされた CG Gallery Panel スクリプトの Cg Sources プロパティを使用して変更できます(組み込み実装は Naninovel/Prefabs/DefaultUI/ICGGalleryUI.CGGalleryPanel に保存されています)。

cover

少なくとも1つのCGアイテムがいずれかのソースに追加されると(アンロック状態に関係なく)、タイトルメニューに CG GALLERY ボタンが表示され、CGギャラリーブラウザにアクセスできるようになります。

UIカスタマイズ機能 を使用して、組み込みの ICGGalleryUI 実装を変更または完全に置き換えることができます。

ヒント

アンロック可能ヒントシステムでは、ローカライズ可能な 管理テキスト ドキュメントを使用して一連のテキストレコードを指定できます。レコードはゲーム全体でアンロックでき、タイトルメニューおよびテキストプリンターコントロールパネルからアクセスできる ITipsUI UIを介して閲覧できます。

このシステムを使用して、ゲーム内用語集/百科事典や実績トラッカーを構築できます。

cover

NOTE

上記のビデオは、最新のNaninovelバージョンでのヒントのデフォルトではないインライン管理テキストドキュメント形式を示しています。現在のデフォルト(複数行)形式とインラインへの切り替え方法については、以下を参照してください。

利用可能なヒントを定義するには、管理テキスト リソースディレクトリ(デフォルトでは Resources/Naninovel/Text)内に Tips.txt テキストドキュメントを作成します。形式はスクリプトローカライズドキュメント(複数行)に似ています。# で始まる行にはヒントID(キー)が格納されます。次の行には、タイトル(必須)、カテゴリ、および説明(オプション)を | で区切って含むヒントレコード値が含まれます。例:

# Tip1ID
Tip 1 Title | Tip 1 Category | Tip 1 Description
# Tip2ID
Tip 2 Title || Tip 2 Description
# Tip3ID
Tip 3 Title
# Tip4ID
Tip 4 Title | Tip 4 Category |

ヒントの値が長すぎる場合は、読みやすくするために複数行に分割できます。

# Tip1
Title | Category |
Long description line 1.<br>
Long description line 2.<br>

# Tip2
Title | Category |
Long description line 1.<br>
...

インライン形式を好む場合は、管理テキスト構成の Multiline Categories リストから Tips を削除します。ヒントは他の管理テキストドキュメントと同様に作成できます。

Tip1ID: Title
Tip2ID: Title | Category | Description
Tip3ID: Title || Description

<br> タグの他に、選択したテキストレンダリングシステム(組み込みヒントUIではTMProが使用されます)でサポートされている他のリッチテキストタグを使用できます。

Tips.txt 管理テキストドキュメントに少なくとも1つのヒントレコードが存在する場合、「TIPS」ボタンがメインメニューとコントロールパネルに表示され、ヒントブラウザにつながります。

スクリプト内のヒントレコードをアンロックするには、@unlock(および再ロックするには @lock)に続けてヒントID(Tips/ をプレフィックスとして付ける必要があります)を使用します。たとえば、Tip1ID ヒントレコードをアンロックするには、次を使用します。

nani
@unlock Tips/Tip1ID

プリンターでのヒント

TMProプリンター を介して関連するテキストが表示されたときにヒントを自動的にアンロックすることが可能です。さらに、プレイヤーがそのようなテキストをクリックすると、ITipsUI UIが自動的に表示され、関連するヒントレコードが選択されます。

cover

表示されたテキストをヒントに関連付けるには、<tip> タグを使用します。例:

nani
Lorem ipsum <tip="VN">visual novel</tip> pharetra nec.

— "VN" IDを持つヒントレコードが存在すると仮定すると、関連する "visual novel" テキスト(TMProプリンターによって表示された場合)は下線が引かれ、ヒントレコードがアンロックされ、プレイヤーがテキストをクリックすると、ヒントUIが開き、関連するレコードが表示されます。

プリンター関連のヒント処理動作を変更する(例:関連するテキストのフォーマットを変更する、またはヒントがクリックされたときにカスタム動作を追加する)には、すべての組み込みTMProテキストプリンタープレハブのテキストゲームオブジェクトにアタッチされた Revealable TMPro Text コンポーネントにある「Tips」セクションの下のプロパティを使用します。それらを微調整するためにカスタムプリンターを作成する方法については、ガイド を参照してください。

cover

カスタムハンドラーが On Tip Clicked イベントに割り当てられると、デフォルトの動作(ヒントUIの表示)が無効になることに注意してください。