Storch In Side

Storchの趣味のブログ

  • Author:
  • Published: 7月 4th, 2018
  • Category: 3DCG and Unity
  • Comments: 1

JokerScriptをUnity2018以降のバージョンで動かす暫定修正パッチと便利な応用

Tags: ,

こんにちは。
既にサークル側の公式サイトやTwitterでご存知かもしれませんが、ここ暫くの間、仕事と並行してUnityを色々いじっていました。
その中でも、Unity上でノベルゲームを制作可能にするフレームワーク、JokerScriptは多機能かつ、省力化が可能という魅力的なシステムで、少し前にも、JokerScript用入力補完キット(要サクラエディタ)をGitHubにも公開し、製作者のシケモクMKさんからもコメントを頂いたりしていました。

そんなJokerScriptですが、Unity5.3.0以降には対応しておらず、最新バージョンのUnityでも使ってみたいが、どうにかならないかと動作の妨げになっている要因を精査し、一先ずUnity2018以降の環境でJokerScriptを動かす修正ファイルを作りましたので公開します。
許可を下さったシケモクMKさん、ありがとうございます。

一番やりたかったのは、Unityでゲームを作った時、3Dゲームパートからノベルパートに切り替わったり、その逆を簡単に作れないかなという所だったんですが、ここは要研究といった所です。(;´Д`)

※注意事項

この暫定修正パッチはUnity2018.1.0f2とJokerScript0.4.1で構成された新規プロジェクトでのみ検証されています。
パッチは暫定的な物であり、確実な動作や将来の更新対応、バグフィックスを保障する物ではありません。
このパッチの使用で生じたいかなる損害においても、筆者は責任を負わないものとします。
Unity2018との大きな仕様変更の都合上、ビルド出来るプロジェクトは「PC,MAC & Linux Standalone」に限定されます。
それ以外のプラットフォーム向けにビルドする事は出来ませんのでご注意を。

ダウンロード

ここをクリックした先の画面右にある「Clone or Download」ボタンをクリックしてダウンロードして、どうぞ。

導入手順

Unityで新規プロジェクトを2Dで立ち上げた状態でJokerScriptをダウンロード、解凍後、JOKER.unitypackageをダブルクリック
JokerScript for Unity

そうするとインポートされるのでここまでは普通に全ファイルのインポートを実行。
JokerScript for Unity

プロジェクトフォルダ内の Assets\JOKER\Scripts\Novel\Core\SaveManager.csを差し替える。
このSaveManager.csを今回ダウンロードした修正版SaveManager.csと入れ替えれば、一先ず動作します。
JokerScript for Unity

#———-

応用問題・通常の3Dゲームシーンから、JokerScript製ノベルシーンに遷移する

JokerScriptで動作するシーン(初期設定ならPlayer)に遷移するよう
SceneManager.LoadScene ("Player");と記述すれば、任意の条件でノベルシーンに遷移出来ます。

そのままだとJokerScriptデフォルトの設定でノベルゲーム側のメニューシーンが最初に出てしまうので
Assets\JOKER_GAME\Resources\novel\data\scenario\first.txt
で、title以外のシーン(scene1か、自作のJokerScript準拠のコード)を呼び出してあげるようにすればいいでしょう。
first.txtの記述例
;背景の定義

;ライブラリ呼び出し
;[call file=system target=”*system_setting_buttons”]
;@call file=libs/utils

;横バージョン読み込み titleをすっとばして本編へ
;@jump file=wide/title
@jump file=wide/scene1

;縦バージョン読み込み
;@jump file=tall/title

[s]

;————————-
3Dゲームのシーンから

Unityで通常3DシーンからJokerScriptを使用するシーンに遷移する

Unityで通常3DシーンからJokerScriptを使用するシーンに遷移する

ノベルゲームのシーンに遷移

Unityで通常3DシーンからJokerScriptを使用するシーンに遷移する

Unityで通常3DシーンからJokerScriptを使用するシーンに遷移する

  • Author:
  • Published: 5月 25th, 2018
  • Category: 3DCG and Unity
  • Comments: None

モデリングソフトMarbleCrayでFBXやPMDを出力する方法

Tags: , , ,



モデリングソフト・MarbleCrayは大変判り易いUIと使い勝手の良さから長年使っているのですが、メタセコイアなどに比べるとマイナーなのであまり知られていません……
今後、モデリングに手を出してみたい人向けに情報をまとめました。

テキストとその後にあるTwitterモーメントあわせてお読み下さい。

MarbleCrayはかなり歴史のあるモデリングソフトで、無料ながらも複数ファイル対応かつ殆どのモデリング機能、4面図表示対応、直感的で判り易いUI←(ここ重要)が揃ってます。
そこで、これからUnity用に何かさくっと何かを作りたい&作る上でのポイントを幾つか。

0:
まず、MarbleCray公式サイトでMarbleCrayのダウンロードしてインストールをして下さい。

1:
MarbleCrayでモデリング後は、各オブジェクトレイヤーを統合する。
(こうしないと最後のレイヤーしか出力されない)

2:
ファイルコンバートの為の中間処理として、出来上がったモデルはLWO方式で出力。
出力時は、オプションで「面を反転」を選びます。
(元の作業ファイルの形式が特殊な為、これをやらないとポリゴンが破綻してしまいます)

3:
LWO形式のファイルはUnityでは使えない為、これをUnityへのインポートに最適なFBX形式ファイルにコンバートします。
メタセコイアを起動してインポートを選び「座標軸」のメニューを「LightWave3D」に設定すると共に「Y軸反転」と「Z軸反転」を選びます。
(アプリケーション別にデータの読み方が変わるらしく、こうしないと天地逆になります)

4:
メタセコイアのファイルメニューから名前をつけて保存→ファイル形式でFBX(Unity用途の場合)を選択して、保存。
MMD用途ならPMD形式で保存して、これ以降の工程はありません。

後述のモーメントにある通り、メタセコイアを使わず、BlenderにLWO対応アドオン・PMX対応アドオンを入れて
Blenderから読み込み→FBX or PMDへ保存でもOKです。
方法は以下の捕捉の通りです。

捕捉:メタセコイアを使わずBlenderでLWO読み込み→PMX、FBX出力を行う方法
blenderをインストールし、ファイル→ユーザー設定(prefarence)→アドオン(add on)→Immport-exportを選ぶ。
アドオン一覧にImport-export:LightwaveObjectがあるので、それにチェックを入れ、blenderを再起動すればLWOがインポート可能になります。

次に、PMXへのエクスポートを行う為、mmd_tools公式サイトに行き、master.zipをダウンロードして解凍します。
解凍して出てきたmmd_toolsフォルダをアドオンディレクトリ(C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons)に設置してBlenderを再起動します。
またファイル→ユーザー設定(prefarence)→アドオン(add on)→Object: mmd_toolsを選び、チェックを入れれば準備は完了です。
ファイル→インポート(import)を選び、2で用意したLWOをインポート後、Blenderの左側にあるMMDタブをクリックし、タブ横に表示されたCreateボタンをクリック。
右端のパネルにNew MMD Modelとインポート済みモデル名の二つが表示されます。
右側のパネルではNew MMD Modelを選択状態にし、左側パネルのAttach Mesh to modelをクリックします。
その後、はじめてFile→ExportでPMXを選んで出力できます。
Unity用データ(FBXを)出力する場合は、Import-export:LightwaveObjectのインストールだけしておけば大丈夫です。

5
Unityを立ち上げ、画面上のシーンタブを選び、画面したのAssetsフォルダへ、出力したFBXファイルをドラッグアンドドロップすればUnityのアセットに取り込まれます。
後は、アセットフォルダ上のモデルデータをシーンウィンドウに、ドラッグアンドドロップすれば、モデルが表示されます。

注釈:
MarbleCrayからいきなりDXF→Unityでもいいのですが、色(シェーダー)定義が消えたりデータが欠落したりしてあまり宜しくなかったので、比較的データ欠落が起き難いLWOを経由してコンバートする為、メタセコイアを間に挟んでます。
本当ならMarbleCrayで即FBXエクスポート出来ると良いんですけどね……

注釈2:
メタセコイアからならPMDファイルを直で出力出来るので、FBXではなくPMDを出してMMDモデルを作りたいという用途でもMarbleCrayをモデリングの工程で使っても悪くないと筆者個人は思います。

スクリーンショット込みのモーメントは下記の通りです。合わせてご覧下さい。

  • Author:
  • Published: 5月 25th, 2018
  • Category: 3DCG and Unity
  • Comments: None

Unityでの開発に必要な覚書一覧(随時更新)

Tags:

日ごろ、Unityでの開発で気になった項目をモーメントでまとめてます。

© 2009 Storch In Side. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.