よくある質問
Naninovelを使用するにはプログラミングの知識が必要ですか?
Naninovelは、プログラマーでなくても使いやすいように設計されており、基本的なビジュアルノベルを作成するためにプログラミングの知識は必要ありません。たとえば、WebGLデモ は、カスタムC#スクリプトを一切使用せずに作成されています。スタートガイド や ビデオチュートリアル で基本的なワークフローの例を確認できます。ただし、カスタム機能(ゲームプレイ)を追加したり、他のサードパーティパッケージと統合したりする場合は、ほとんどの場合C#スクリプト(または ビジュアルスクリプティング)が必要になります。特定の機能(例:UIのカスタマイズ)では、Unityエディターの経験が必要になる場合もあります。
既存のゲームでドロップインのダイアログシステムとして使用できますか?
Naninovelは主にビジュアルノベル制作の基盤として設計されていますが、ジャンルを問わず、既存のゲームに組み込むダイアログやカットシーンのシステムとしても利用できます。この用途に特化した 専用モード も用意しています。
なぜシナリオ作成にノードグラフを使わないのですか?
一見すると、ノードグラフは会話を作成するのに便利そうに見えます。しかし実際には、コンテンツが増えるにつれてすぐに複雑になり、管理が難しくなります。複雑な会話はテキスト形式で扱う方がはるかに適しています。規模が大きくなっても整理しやすく、効率よく作業を進められるためです。
たとえば、このスクリーンショット を比較してみてください。左側はノードグラフで会話を作成する人気のUnityアセットの一つで、右側は同じスクリプトをNaninovelで記述したものです。テキスト形式なら内容を把握しやすく、管理も容易です。扱いにくいUIを操作したり、編集のためだけにUnityアセットを探し回ったりする必要もありません。ビジュアルエディターを使いたい場合には、ノードグラフよりもシナリオを編集しやすい 専用エディター も用意しています。
とはいえ、ノードグラフは物語の分岐フローを追跡・整理するのには便利です。そのため、Naninovelには ストーリーグラフ が含まれており、物語の全体像を明確に把握することができます。
Naninovelにミニゲームを埋め込むことは可能ですか?
はい。Naninovelの標準的な処理の流れに、任意のカスタムロジックを組み込めます。ただし、多くの場合はカスタムC#スクリプトや ビジュアルスクリプティング を通じて、エンジンのC# APIを使用する必要があります。エンジンと連携できる公開APIの一覧は エンジンサービスガイド を参照してください。状態管理をエンジンに委ねる機能、カスタムアクターの実装、カスタムコマンド も活用できます。
特定の言語をサポートしていますか?
Naninovelはどの言語でも動作しますが、一部の言語でテキストを表示するには、互換性のあるフォントが必要です。詳細については、ローカライズガイド の「フォント」セクションを参照してください。
Naninovelを購入するとソースコードにアクセスできますか?
Unity関連のソースコードはすべて配布パッケージに含まれています。Naninovelの共通モジュールは動的アセンブリにプリコンパイルされており、そのソースコードは プライベートGitHubリポジトリ にあります。ライセンスを登録 すると、このリポジトリにアクセスできます。
利用規約はどうなっていますか?
Naninovelの使用には、以下のエンドユーザー使用許諾契約(EULA)が適用されます:naninovel.com/eula。アプリケーションをダウンロードまたは使用する前に、ドキュメントをよくお読みください。
アセットストアのライセンス登録時に「asset wasn't downloaded」というエラーが出るのはなぜですか?
Unityのアセットストア経由でNaninovelを購入した場合、アセットのダウンロード検証が必要です。検証を成功させるには、アセットを購入したユーザーがUnityの Package Manager 経由でNaninovelを少なくとも1回ダウンロードする必要があります。アセットを複数購入した場合、各コピーは、それに関連付けられた組織ユーザーがダウンロードする必要があります。すべての手順を完了しても問題が解決しない場合は、Unityサポート にお問い合わせください。
警告
アセットが組織アカウントから購入された場合、検証を通過するには組織の所有者がアセットをダウンロードする必要があります(割り当てられたメンバーによるダウンロードは対象外です)。これはアセットストアの制限であり、このような場合に回避策を提供することはできません。詳細とサポートについては、Unityサポートにお問い合わせください。
タイトル(メイン)メニューをカスタマイズするには?
ボタンの変更・追加やパネルのレイアウト・スタイルなど、UIに関する変更は 組み込みタイトルUIプレハブを変更 して行います。それ以外の動作は、スクリプト構成メニュー(Naninovel -> Configuration -> Scripts)で Title Script を設定し、通常のシナリオと同じようにスクリプトコマンドでシーンを構成します。タイトルスクリプトは、エンジンの初期化後と @title コマンドの実行時に自動再生されます。
背景が切り取られてしまうのはなぜですか?
背景テクスチャの解像度のアスペクト比が、カメラ構成で設定された参照解像度と一致していることを確認してください。また、テクスチャが 正しい設定(例:Max Size が十分に大きい)でインポートされていることを確認してください。
画面のアスペクト比が参照解像度の比率と異なる場合、背景アクターはデフォルトで画面に合わせようとするため、切り取られる可能性があります。詳細については、マッチモードガイド を参照してください。
テキスト表示中にコマンドを挿入するには?
コマンドのインライン化 を使用してください。
コマンドが並行して実行されるのを防ぐには?
すべての非同期コマンドで使用可能な wait パラメーターを指定してください。例:
; キャラクターが非表示になった後にプリンターがフェードアウトを開始します。
@hideChars wait!
@hidePrinter注意
非同期(並行)コマンド実行の詳細については、専用の記事 を参照してください。
アクターの表示順(Zオーダー)を変更するには?
Z軸上の位置を指定します。例:
; Soraを中央下、Felixの手前に表示します
@char Sora pos:50,0,-1
@char Felix pos:,,0透視投影カメラモードでソートの問題が発生する場合は、Edit -> Project Settings -> Graphics エディターメニューにある Transparency Sort Mode を Orthographic に変更してみてください。Unityでのオブジェクトのソート方法の詳細については、2Dソートマニュアル を参照してください。
テキストプリンター内にキャラクターのアバターだけを表示し、キャラクター自体は隠すことはできますか?
隠したいキャラクターに !visible を指定してください。アバターは表示されたままになります。例:
@char CharId !visibleキャラクター自体を隠したままアバターを頻繁に変更する場合、キャラクター構成メニューで Auto Show On Modify を無効にすることを検討してください。無効にすると、隠れているキャラクターのパラメーターを変更する際に !visible を指定する必要がなくなります。
または、アクターをテクスチャにレンダリング する機能を確認してください。
シナリオスクリプトからカスタムC#コードを実行するには?
C#の処理(例:シーン内のゲームオブジェクトへのアクセス)を呼び出すには、カスタムコマンド を使用します。C#メソッドから値を取得してシナリオスクリプトで使用するには、式クエリ を使用します。