いつまでもプロトタイプ

映画やアニメ、エロゲ、AVなどなどエロネタ中心に扱ってます。

<お知らせ>
作ったもの(プラグインしかないけどw)を置いておく場所を変更しました。
一部記事にてリンク切れが発生しておりますがワタクシめ修正する気がないようです。
おなじみのアップローダーを借りたので、今後はこちらから奪ってやってください!
http://ux.getuploader.com/moistened_eye/

カテゴリ: ゲーム

037



◇ 検索窓を作って、もっと検索をしやすく + 微修正

恒常的にNGワードとして検索させたい場合はキーワード編集で追加削除すればいいけど、意外と表記揺れのチェックや、「この単語をどのシーンのどのカットで使ったっけかな?」といったような曖昧な検索などでは一時的な検索ワードを指定したい。

まぁ、当たり間選っちゃ当たり前なんですが、なぜかその機能を付けてなかったので追加。

検索キーワードはスペース(半角でも全角でもどちらでもOK)で区切って、複数指定することができます。

なので、画像のように「貴方」「あなた」と二つ入力すれば表記揺れチェックが可能かと。
「ぼく」「ボク」「僕」とか、「おれ」「オレ」「俺」、「わたし」「ワタシ」「私」とかね。

ストーリー上、終盤でしか使えないはずの単語を、ついうっかり序盤中盤で使っちゃってネタバレ、なんてことも防げるかな?

シトリーさんを登場させたいけど、序盤にその名前は出したくない。
けどついつい使ってしまっていないかを「シトリー」で検索するとか。

あ、あと、メッセージ1と2、どちらも編集ができないままになっていたような・・・?
ということで、こちらも編集できるよう修正。

ま、画像で見ると一目瞭然の微更新です。


038



尚、今回アップロードした内容のうち、DLLは変わってないので、アプリだけ上書きして頂ければOKです。


そんでもって、このアプリは、単体では使えないので、過去のこちらの記事も合わせて読んでくださいね~



・・・つか、意外と時間がなくてコイカツの方に手が出せぬ・・・



020


シーンデータの作成、UIがキャチーでゲームとしてこれだけできるのはすごいと思うし、まだまだこれから煮詰めていって欲しい部分は多い。
ガッツリマニア向けというわけでもなく、こんな見た目ならちょっと試しに遊んでみたいって人にも入りやすくて、それが想像?創造?妄想が好きな人でハマれば、今後のアップデート如何によって楽しいことになるんじゃないか?これ・・・

・・・ま、まぁ、不満も盛りだくさんだけどね!w

そんな不満のひとつに、「セリフの確認&編集作業」がある。

ADVパートに含めることのできるカットは最大50、ちょっと長くなると収まらない手狭さ。
で、複数パートでADVを構成すると、行ったり来たりで確認やら編集やらが面倒。

この面倒さをちょっと軽減できる機能とアプリを作ってみました。




◇ 作った機能&アプリ

・シーンデータからセリフを全てブチ抜き by SpecterEm
・ブチ抜いたセリフを専用アプリで閲覧 by エモクリワードチェッカー(仮称)






◇ できること

・全セリフを別ファイル化
・キーワード検索によるセリフの抽出
 他にも表記揺れ防止等に
 ex)俺、僕、儂等、表現を統一したいのに、つい他の表記を使ったりとかしてないかの確認など
・予めソフ倫準拠(?)のキーワードを登録してあるので、非公式ロダに上げる際でも、
 誤解を招くようなデータを作りづらい
・キーワードは追加削除の編集もアプリから






◇ 不便なとこ

・Hパートは完全スルー
・セリフを抜くにはエモクリ起動して「M」キーを押さないといけないとこ
 (シーンのPNGデータから直接やろうかと思ったけど、超絶面倒くさかったのでやめたw)
・アプリでセリフ表示するけど、分岐までは考慮してないので並び順はある程度のレベル
・アプリ側で編集してもゲーム側には反映されない




といった感じですが、
ストーリー考えてると、過去の発言と今の発言で不整合があったりして、それを探すのもゲーム内では大変だったので、まぁ、これだけできれば十分かな、と。





◇ 必要なもの

・BepInEx
・SpecterEm(新しく作ってるもので、Specter とは別物ね)
・EmSceneSearch(SpecterEmでブッこ抜いたセリフ閲覧用アプリ)




BepInEx の導入は・・・まぁ、今ではだいぶ楽なので、割愛。

SpecterEmとアプリはひとつにまとめて倉庫に上げてあるのでそちらから。
解凍すると下記のファイル達が見えるはずです。

Pluginsフォルダ内
 SpecterEm.dll
 EmSceneSearch.exe
 SpecterEmフォルダ

SpecterEmフォルダ内
 Sceneフォルダ

Sceneフォルダ内
 Quotes_キーワードリスト.txt

このフォルダ構成を変えずに、そのままBepInExフォルダにコピペでOK。





◇ 使い方

エモクリを立ち上げます。
シーン作成のチャート設定画面まで進みます。(下記画像の画面)
023


ここでキーボードの「M」を押すとセリフが記録されます。

特にこの画面以降だったらたいていの場所で保存できると思うので、パートの「編集」でセリフなんかを書き換えた後に、そのまま「M」を押しても大丈夫かと。たぶん。

保存はテキストファイル(XMLファイル)で、場所は Plugins\SpecterEm\Scene 内。
テキストファイルなので、何も今回作ったアプリではなく普通のテキストエディタでも開けます。
それはキーワードファイルも同じ。
なので、その辺はお任せしますね~

ただ、せっかく作ったので使ってやって!w

とりあえず、いくつかのシーンを開いて各チャート画面で「M」を押して、セリフを抜き出しておくと楽しめます。

尚、その際、コンソール系のプラグインを導入していると下記のようなログが流れます。

025

キーワードにヒットしたセリフが「パート名:カット番号」付きで表示されます。
まぁ、これは自分用の表示で、簡素化してるのですが、それでも便利なんすわ。自分にとっては。


さて、「M」キーでいくつかセリフの保存ができたら、アプリを起動。

026


初期画面は何も表示されませんw

左上の方に「ログビュー」と「キーワード」というボタンがあるので、とりあえずは「ログビュー」をクリックしてみてください。

すると、保存したシーンデータにもよりますが、下記のような画面になります。

024

これはサンプルデータの9が表示されている状態です。
(保存したシーンデータにもよるので画像は参考程度に)

キーワードにはソフ倫ワードを入れてありますが、さらに「俺」「僕」「儂」などを追加してみた状態の表示です。

左側の一覧は「パート名」「カット」「Msg種別」「対象ワード」と言った項目があり、「俺」というキーワードがセリフに含まれているものだけが表示されています。

Msg種別ってのがちょっとわかりづらいかも?
カット内で使えるセリフの枠には、ひとつの枠で最大2カ所のテキスト入力欄がありますが、そのどっちに該当の文章が入っているかを見分けているものです。
1なら、セリフ用枠としては一般的にはキャラ名が入る場所、2ならセリフを書き入れる場所。
といった感じで。(0は該当なし)


これを見ながら、ゲーム画面で該当するパート名とカット番号をチクチクと「僕」に変更していけば、漏れがありません。

もちろん、ソフ倫ワードに引っかかった場合はそれぞれが表示されます。
(ただし1つのセリフ中に複数ヒットがあった場合は最初の1個しか表示されないのでご注意を)

右側にもパート名やカット番号が表示されますが、メッセージ欄ではセリフ全文表示させてます。

で、同一カットに複数のセリフを入れることもできるため、その場合には「--------」という即席の区切り文字にて区切ってますw

これで表記揺れの確認やNGワードを含んでいないかの確認は楽勝!



さて、ゲーム内で「M」押していくつかのセリフデータを保存していた場合、左上の「作品名」は選択式になっていて、そこにリストとして表示されます。(ドロップダウンリストみたいな)

確認したいシーンデータを選んでやってくださいな。


また、キーワードにヒットしたセリフを含むカットだけを抽出した状態で表示されてますが、
作品名選択の右隣にある「抽出」「全てのセリフ」のボタンをクリックすると、切り替えられます。
下の画像では「全てのセリフ」を選択しているので、左側の一覧には全てのカットとセリフが表示されるようになりました。

027


分岐があったり、後からパートの差し替えたりしていると順番がアレになりますが、まぁ、確認用なのでいいでしょう。

で、右下の「メッセージ2」という欄、このカットには複数のセリフが含まれているようなので、区切り線とともにいくつかのセリフ全文が表示されています。
メッセージ1の方はキャラ名を入力することが多いと思いますが、ここでは空欄でした。


大きく分けて、左側の一覧、右側の詳細、みたいな感じで分かれてますが、そこを区切るグレーの縦線で表示割り合いが変更できます。



次、左上の「キーワード」。

028


こんな画面になります。

まぁ、超絶シンプルなので説明は不要っすかね?

キーワードの編集、追加、削除、他ファイルからのマージができます。
(他ファイルからのマージは重複ワードはもちろん省きます)

ここで変更しても「保存」は手動なので忘れないでください。
一応、3分ごとにメッセージ表示して「保存」を促します。
わりとキーワードを「追加」して、「保存」を押さないまま「ログビュー」を押して戻ったりしちゃうことも多いので、ここは今後、リストに変更があったら保存する方向にしようか検討中。


こんな感じで、キーワードの登録と編集、ログビューで抽出確認、がサラッとできるので、長編作ってる場合なんかは作業軽減や漏れ防止に役立つかな~・・・?





んで、いつものことではありますが、あくまでも「自分のためのツール」でできあがったものなので、使い勝手の悪さや不具合などはお知らせいただければ改善できるかも知れませんができないかも知れません。
その点は何卒ご了承の程。


あ、あと肝心なこと。

BepInEx を導入した時点でもうMOD環境ですからね!
今回作ったアプリだけは完全な外部ツールでゲームには一切関係しない(今のところは)けど、MOD環境下で作ったシーンデータやキャラデータは公式ロダに上げちゃいけませんよ!?

もし、公式ロダに上げるデータだけどNGワードの確認に使いたい、という場合には、
MOD環境とバニラ環境の2つを用意して、作成とアップロードはバニラで。
MOD環境でNGワード確認をする。
という使い分けが必要かと。
で、絶対にMOD環境のデータをバニラ環境にコピー等して混ぜてしまうことのないように。
一方通行にしましょう。

誤ってMOD環境で作ったデータをアップロードしてしまった場合、そのキャラやシーンデータが削除されるだけならまだしも、完全出入禁止措置となっても言い訳できませんから。


そんなわけで、とりあえず、初版SpecterEmとその仲間達を倉庫にブチ込み~








個人的にはエモクリとこのアプリの同時起動で使う予定かな。

セリフの編集をしつつ、適当なところで「M」を押してセリフデータを更新し、アプリ側の「更新ボタン」で再確認。

修正が終わっていればアプリ側のリストがひとつずつ消えていくので、全部なくなったら終了~



029

こんな感じでパート名見ながら該当パート探し・・・


030

該当パート開いたらカット番号みて、そのセリフが含まれているカットを開き、修正。

で、「M」押してデータ更新、アプリ側も「更新」してリストが減っていくことを確認。



みたいな~



553



□ アイテムをコピーしたらコピー後のアイテムを選択する機能


・デフォルトでの挙動
 コピー後、選択したコピー元のアイテムがそのまま選択状態を維持している

・この機能を有効にした際の挙動
 コピー後、コピー後のアイテムを選択

という、機能としては至って単純です。


この機能、やっぱりいつも通り俺得機能なので、標準では「無効」になっています。

同じように「コピー後にコピー元が選択されたままで結構困るんだぜ!?」って方は、設定画面で「有効」にしていただけると、ちょっと幸せになるかも知れません。

554



あ、あと、コピーのショートカットである「CTRL」+「D」でも、この機能は働きます。

で、思わぬ副産物ではあるのですが、「CTRL」を離す前と離した後とで「選択状態」が変わります。

「CTRLを離す前」
  「D」を押した瞬間にコピーは完了しますが、コピー元のアイテムが選択されています。

「CTRLを離した後」
  コピー後のアイテムが選択されます。

この「CTRL」の状態前後で分かれる「選択」ですが、「コピー後にコピー元を移動したい」なんて時には使えるかも。
そうした使い道があるのであれば,ですが。(個人的にはない気がするんだよなぁ・・・w)

まぁ、そういう動作になっているので、そういう機能もあるよってことにしておきましょう。



簡単な動画も作ってtwitterに投稿してあるので、良かったらご覧くださいな。





ついでに、検証用というかデモンストレーションというか、そんな感じの動画も撮ったので。



549



リクエスト頂いた機能の追加です。

・右下のガイド表示
・バックグラウンド時の動作一時停止


ガイド表示はデフォルトの「オブジェクト操作」があるからいいかなぁ、と思っていたんですが、あったらあったで便利かも知れない。
リクエスト頂いて、実際に移植して、改めて使ってみたらそう思えたw


バックグラウンド時の動作一時停止もそうですね。
スタジオとキャラメイクを同時起動することが最近増えたのですが、そういえば、一方は必ずバックグラウンドになるのだから、その間、動作が一時停止されてても問題ない。
それどころか、CPUはGPUリソースを無駄に使わないのでいろいろ優しいんじゃないか、と。


ということで、この2つを実装。

いずれの機能も最初は「無効」になっているので、必要な方は「設定」メニューから「有効」にしてください。

また、「SAVE」を押さないと次回起動時に元の設定に戻ってしまうので、「この設定でOKよ!」となったら「SAVE」を押してあげてくださいな。


550


で、このガイド表示、以前の組み込み方だと無駄が多くて、動作が重くなるとまでは行かないものの「超無駄なことやってる」感が強かったので、手直ししました。

解像度やパースの付け方などによっては表示位置に不満も出てくるかな~?

なので、位置やらサイズやらは今後のバージョンアップ時にこっそり修正するかも知れません。


あ、あと、「手直しした」=「新たなバグ発生」とつながる可能性も多々あります。

お気づきの点がありましたら(対応出来るかどうかはさておいて)、ご連絡頂けると助かります。


ではでは、よろしく~!

541




< 2019/03/20 02:05 追記 >
アップロードした直後に不具合に気づくというMOD作成あるあるを犯しました。すみません!
10名前後の方が修正前のものをダウンロードされているようですので、お手数ですが、バージョンが0.8aとなっているものを再度ダウンロードしてください。
不具合内容としては「ライトがちゃんと分離されない」というものです。
直前の作業でテストのために1行だけ処理をコメントアウトしたのですが、それが「分離」作業の肝の部分で、テスト終了後に戻すのを忘れていました。




□ バグフィックス

解像度変更時、Systemメニューの子ウィンドウが開いていると、その表示位置がずれて他メインメニューにかぶってしまい、操作出来なくなる現象を修正。


□ 標準(マップ)ライトをキャラライトに統合(標準ではオフ)

教室や屋上で撮影していると、マップの影のかかる方向とキャラにかかる影の方向が一致しないというのがちょっと引っかかってたので、キャラライトに標準(マップ)ライトを統合して、キャラライトの操作でマップへ当たる光や影を操作出来るようにした。
尚、時と場合によりけりの使い心地なので、標準ではこの機能はオフ。


使い方、というほどのものはなく、ボタンがひとつとスライダがひとつの簡単操作。

それだけやってることもシンプルなもの。

542


シンプルなので使ってみればわかる、的な感じですが、以下ダラダラと文章垂れ流すよ~


「ライトを統合(分離)」をクリックすれば、マップライトがキャラライトに統合されます。
統合されたライトは標準で操作できるキャラライトのUIでそのままいつもどおりいじってくださいな。
連動してマップライトが付いていきます。

ライトの強さはキャラライトのUIだけでもOK。
キャラライトの強さは変えたくない場合はSpecter側のスライダで調整してください。
Specter側ではマップライトの強弱のみ変更します。

尚、分離した状態でもマップライトの強弱はSpecter側で操作出来るので、ただ単にマップライトの光の強さを調整するだけにも良いかと。



で、このマップライト、全てのマップにあるわけではなく下記のマップでは存在しないので、そうしたマップではボタンを押してもスライダは表示されません。


< マップライトがなくキャラライトのみのマップ >
体育館ライブ、女子トイレ個室、シャワールーム個室、ロッカールーム個室、ラブホテル、
カラオケ、協会、満員電車、電車


とはいえ、キャラライトをSpecter側で設定変更してマップオブジェクトも照らすようにするので、これらのマップでもボタンを押してキャラライトにマップライトを兼ねさせることが出来ます。
例えば、教会のステンドグラスに光を向けてブルーム盛ってみたりとか出来るかも。

コイカツはどうもシェーダーのせいなのか、ライティングの幅は狭め。
追加出来るスタジオアイテムとして全体光やポイントライトがあるけど、2つまでだし。

なので、このライトの統合機能で、もう少しだけ表現の幅が広げられたらいいのにな。
というところ。

キャラライトでマップを照らすので、twitterに上げたような「屋上の金網の影」を意図する方向に調整したりも可能で、あの辺の通常は動かせない影が邪魔だったりする時なんかにも使える。
一度「結合」してキャラライトでマップの影の角度を変えて、次に「分離」してキャラライトのみにしてからキャラに当たるライトを調整する、とか。



さてさて、今回、「マップライト」という呼び名をしてますが、マップによってそのライトがあったりなかったりして、マップを切り替えたり、シーンデータを読み込んだりすると、いちいちそのマップライトを取得し治さなければならないというのがちょっと面倒だったw

で、ここで、ちょっと思い出したことがありまして・・・

シーンデータをロードしたときやマップを切り替えたとき、マップライトが取得出来ないケースがあるかも知れません。

そんなときは、「ライトを結合」ボタンをクリックしてやってください。
たぶん、再取得出来るかと思います。
また、結合したままだと問題あるようでしたら、そのまま何もせず「分離」で。

再びマップを切り替えたり、シーンデータを再ロードしても、再取得出来るかな。

個人的には取得漏れが起きてもボタンクリックで解消していることから、あまり問題と感じておらず、取得漏れが起きる条件を全く調べておりません・・・

発生条件がわかり次第、もしかしたら治すかも知れませんが、そのときの気分と飲んでる量によりけりですかね~


ということで、今日はこの辺りで!

このページのトップヘ