忍者ブログ

でんきみちブロgu。(あ行。)

大変古い古すぎるレビューの置場。お絵かき掲示板消失により3年ぶりに雑記に転用(2017年)。現在はノベルゲーム制作とライブ2Dがマイブーム。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


ライブ2DのVモデル表示してOBSで字幕と読み上げボイス使う方法

ライブ2DのVモデル表示してOBSで字幕と読み上げボイス使う方法
(マイクの音を録音しないで、話したことを文字に起こしてそれをボイスボックスさんが読み上げてくれるやつ…つまりボイスチェンジ…)
調べながらやったらできたので、忘備録です。


使うソフトは4つ
・ゆかりコネクトneo
・OBS studio
・voicebox
・vtube studio

うちはOBSとVスタジオはスチームで使ってます。
①この4つをインストールして立ち上げます。
 4つのソフトは起動状態であることが必要っぽいです。


■ゆかコネネオの設定
 ↓赤印のところを押して設定

うまくいっていれば、startを押してマイクに喋れば
声を文字に起こしてくれます。
(誤字はしかたありません…!)

・初期設定では翻訳がついているので文字に起こされた言葉が
 4回4言語でてきてしまいます。
 日本語だけにするときは↓を設定。(英語同時表示とかもできる)
 誤字は…しかたありません。




・続いてプラグイン設定
 OBS連携読み上げ連携をオンにします。

 


読み上げプラグインの設定↓
左上のチェックをオンにして
voiceを選びます。
ボイスボックスがインストールされて起動されていれば
声が選べるはず。



・続いて字幕設定
 マイクで拾った音声を字幕で表示するウィンドウです。

 

・デフォルトだとこんな緑の画面になります。



字幕のフォントはこのあたりで調節可能


・ゆかコネネオのOBS用のアドレスをドラックしてOBSに入れます。
 すると字幕の(デフォルト緑バック)画面がOBSに写せます。



・フィルタでクロマキーを設定します。



・クロマキーを選んで緑色を設定します。





・緑色が透過されて、字幕のみ画面上にでます。

vスタジオはウィンドウキャプチャ等々でOBSで映してます。

これでOBSで録画すれば、できました。

→解説動画にしてみました。https://www.youtube.com/watch?v=obKcVbisFJc

vスタジオ、OBSの使い方わからない方は別に調べてみてくださいー


OBSのほうは
マイク音声は録音せずに、ディスクトップ音声(読み上げた音声)のみ
録音するように設定しました。↓
忘れるのでめも。
 


ファイルの保存形式はmp4になるようにしています。







PR

ライブ2Dモデル ビューアーでのモーションファイルとの紐づけ方

俺式ゲーム用(ティラノ)Live2Dモデルの作り方

で解説したライブ2Dビューアーでの設定について
詳しく書きます


ライブ2Dモデルを作成し、モーションファイルとmocファイルを書き出したら

①ビューアーでmdele3.jsonファイル or mocファイルを開きます



②開けたら、motionsフォルダにモーションファイルを入れて置きフォルダごと
 ドラックして入れます



③motionsファイルを開いたあと、ひとつひとつ『再生』して
 不具合が無いかチェックします。
 モーションを順にクリックしてモーションが切り替わった時や
 思ってた挙動と違うモーションになった場合はアニメーターに戻って修正します



OKであれば、グループ名のところにモーショングループ名を記入します。
Kao とか Reset とか Body  です。
半角英数で入れます。




④すべてのモーションに、モーショングループ名をつけたらモデル設定を書き出します。


⑤モデル設定が書き出せたら、model3.jsonファイルを開くとしっかり記述されている
 はずです。


※ちなみに、ティラノスクリプトのプラグインはモーショングループの一番上が0
 ツクールのプラグインだと一番上が1になります。

ティラノスクリプトだと↓のような感じで呼び出します
[live2d_motion name="モデル名" mtn="Kao" no=0 ]
[live2d_motion name="モデル名" mtn="Kao" no=1 ]



⑥紐づけが終わったら、必要ファイルをまとめます。


この中に↑

必要ファイル↑のみにします。

フォルダ名と中のファイルの名前は同じにします。

これでライブ2Dモデルデータの完成です。


フォルダ名と中のファイルの名前は同じというのはこういうことです。
これがファイル構造

このフォルダをつっこめば
ティラノでも、Animazeでも動くはずです。
(動かない場合はmocファイルのバージョンか、jsonファイルの記述になにか不具合がある可能性)

以上です。










メニュー画面拡張プラグインをお借りしよう!

ティラノスクリプトでメニュー画面拡張プラグインお借りしよう!!

使い方迷ったのでメモしておきますー。


メニュー画面拡張プラグイン とは

さくた様が作られた、ティラノスクリプト用のプラグインです。
こちらで配布されています。
https://skskpnt.booth.pm/items/4572575


ティラノのデフォルトメニューでは、
コンフィグやバックログをメニューに入れられないので
レイアウトをいじったりティラノスクリプトのスクリプトが
メニュー画面で使えるようになるすばらしい、プラグインなので
ありがたいのですが、
導入するときに迷われる方(私も迷ったので)もいるかなと、
勝手に、使い方をメモしています。



++++++++++

ティラノスタジオで新規ゲーム作成。

作成したゲームデータのtyranoフォルダを
 ver520以上のティラノスクリプトにバージョンアップする。


ティラノスタジオのバージョンにもよると思いますが、
V110だと作成されるデータがティラノスクリプト505あたりなので
ティラノスクリプト公式サイトから520以上のティラノスクリプトを
ダウンロードして、tyranoフォルダを上書きしてバージョンアップしてください。

メニュー画面拡張プラグインの説明書にもありますが、
このプラグインはv520以上のティラノスクリプトに対応しています。
なので、それより以前のバージョンのゲームデータだと動きません。


メニュー画面拡張プラグインを
 ティラノのdata\others\plugin
  にプラグインのフォルダを入れる。

first.ksにプラグイン呼び出しタグを記入

★メニュー画面拡張プラグインを読み込むと
 メニュー画面拡張プラグインのhtml、cssでデフォルトメニュー画面が上書きされます。

 init.ks ファイルにメニュー画面拡張プラグインのタグを記入する。
(私はどのファイルにタグ記入すればいいのかわからずhtmlファイルに書いてアレってなってました… (・p・;)
あとは

;背景
[menuimage storage="bg_base.jpg" x=0 y=0 zindex="-1"]  
;クローズボタン
[menubutton graphic="modoru.png" enterimg="modoru2.png" clickimg="modoru2.png"  x=1100 y=100 type="close" ]
 
;バックログボタン
 [menubutton graphic="menu_button_log.png" enterimg="menu_button_log2.png" clickimg="menu_button_log2.png"  x=40 y=150 type="backlog" ]
;コンフィグボタン
 [menubutton graphic="menu_button_sleep.png" enterimg="menu_button_sleep2.png" clickimg="menu_button_sleep2.png" x=640 y=450 type="sleepgame" storage="config.ks"]
[return ]


★[return ] の上に記述するのがポイントです。

コンフィグボタンだけは例文がのってますが他はのってないので。

あと、このファイルはksファイルなので、
背景表示やその他のことがティラノスクリプトのタグでできます。
つまり animタグとか使えるわけですな。

というわけで、こちらのプラグインで
デフォルトメニューボタンから呼び出せるメニューが無限大です!!!
感謝感激!!!ありがとうございました!!




ティラノスクリプト。ハンガーメニュー風ボタン

ティラノスクリプトで表示している
fixボタン、 roleボタンについて

[button  graphic="button/log.png"  name="auto"  x="960"  y="450" fix="true "  role="backlog"  ]

とかで
ゲームの進行中にずっと表示しておけるボタンです。
これを、開いたり閉じたりできるようにする方法です。

ハンガーメニュー風、スライドメニュー風なのをksファイル(シナリオファイル)を
つかって表示したり消しています。

まず、
[button  graphic="button/menu.png"  name="menu_0" x="1050"  y="520"  fix="true "   auto_next="false"  storage="menuopen.ks"  ]
 roleを使用せずfix="true "でfixボタンを作成します。

そしてクリックするとstorage="menuopen.ks" ファイルにジャンプするようにします。


menuopen.ksというシナリオファイルは************

;メニューボタンを消す
[clearfix  name="menu_0"  ]
;表示させたいボタン
[button  graphic="button/save.png"  name="mb"  x="1050"  y="520"   role="save"  ]
 
[button  graphic="button/load.png"  name="mb2"  x="1050"  y="520"  role="load"  ]
 
[button  graphic="button/close.png"  name="mb3"  x="1050"  y="520"   role="window"  ]
 
[button  graphic="button/sleep.png"  name="mb4"  x="1050"  y="520"   role="sleepgame"  storage="config.ks"  ]
 
 
;表示させたボタンを消すためのメニュークローズボタン
[button  graphic="button/menu.png" enterimg="button/menu2.png"  clickimg="button/menu2.png" name="mbc"x="1050"  y="520"   fix="true" auto_next="false" storage="menu_kesu.ks"  ]
 
;表示させたボタンをスライドアニメするアニメタグ
[anim name="mb" left="900"  top="520" time="200" method="easeInSine"]
[anim name="mb2" left="800" top="520"    time="200" method="easeInSine"]
[anim name="mb3" left="700" top="520"    time="200" method="easeInSine"]
[anim name="mb4" left="600" top="520"    time="100" method="easeInSine"]
[wait time=200]
 
;リターン
[return]

***********************************

という中身にしておきます。


menu_kesu.ks シナリオファイルも必須なので
***********************************
;表示させたメニューを消す
[clearfix  name="mb"  ]
[clearfix  name="mb2"  ]
[clearfix  name="mb3"  ]
[clearfix  name="mb4"  ]
[clearfix  name="mbc"  ]
;メニューオープンボタン表示
[button  graphic="button/menu.png"  name="menu_0" x="1050"  y="520"  fix="true "  auto_next="false" storage="menuopen.ks"  ]
[return]

***********************************
と保存しておきます。

メニューを閉じたり開いたりしてみる方法でした。


***追記!(2024/5/19)***

実は上記の方法だと、メニューをクリックすると
テキストが進んでしまうという、微妙なところがあったのですが。

https://x.com/phagp/status/1791940622578000111
こちら↑ 神楽いづちさん より改善情報を頂きまして

ティラノスクリプトv4.10~より実装の
auto_next="false" という記述をすることで
進むのを止めることができることがわかりました!!
(このタグ知らなかったよー;O;)
ボタンタグに記述可能なものになります。
ので上記のスクリプトにオレンジ色で追加してあります!!

ただし。テキストの文末に[p] タグが入っていると
メニューボタンを押すとテキストが消えてしまいます。
進まないんだけどなぜか表示は消えます。[p]が発動して。
テキストの文末を[l][er]にしておくと
メニューボタンを押したときに文字が消えてしまうことを
防げます!!

奥深いぞティラノスクリプト





サンプルするとこんな感じ。
(制作中ゲームの画像UI・シナリオはかまくらさん作)

ところでこれは、ハンバーガーメニュー風?ハンガーメニュー風?
(正しい名前がわからない…)
ボタン表示のアニメのところ工夫すればオシャレなのもいろいろできます!

情報ありがとうございました!!







スキップボタン付きスタッフロールで画像変更したい

以前書いた

スキップボタン付きスタッフロール

の記事にメールフォームよりメッセージを頂きまして、
ノベルゲーム制作への気持ちも書かれていて
応援したかったのでお返事を送ろうとしたのですが
返信先アドレスに送信したところデリバリーエラーになってしまって送れなかったので
記事で書かせていただきます。

ティラノスクリプトで

スタッフロールを動かしながら、画像を変更したい。
画像変更中にスキップボタンが反応しない!!

ということで

続・スキップボタン付きスタッフロールの巻

動作テストをしてみました。



スタッフロールのptextのアニメーションがスタートした後に
 
[bg storage="0_midori.png" time="3000" ]
[bg storage="0_kiiro.png" time="3000"]
[bg storage="0_kuro.png" time="3000" ]
 
とスタッフロールしている間にバックで画像を変更してみました。
なんと、画像変更中はボタンが反応しません。なるほどな。


[bg storage="0_kuro.png" time="3000" ]
はtime=3000のウェイトを待っている。

3000かけて背景画像を変更するまで次の処理に進まないということです。
wait=の記述がないため デフォルトでwait="true"
→ [bg storage="" wait="true" time="3000" ]

になっている。

つまりこうすればいいんだ!
[bg storage="0_midori.png" time="3000" wait="false"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[bg storage="0_kuro.png" time="3000" wait="false"]



…あ!!
しまった。
ただし、wait="false"にすると、待たずに次の処理にすすんでしまうため
画像がすごいスピードで変わり続けてしまいました…Orz

ならば!

[bg storage="0_midori.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kuro.png" time="3000" wait="false"]
[wait time="3000"] 


こうだ!!!
やりました。

画像変更中のwait=trueはボタンのジャンプを受け付けないようですが
waitタグのみの待ち時間はボタンのジャンプを受け付けるので
いけるのではないかと思います。

以下、スクリプトです。++++++++++++++
;エンディングテスト
[cm]
;背景変更
[bg storage="0_kuro.png" time="100"]
;メニューボタンの非表示
@hidemenubutton
;スキップボタン
[glink name="sukip" color="btn_05_black" size="18"  width="200"  x="800"  y="5"  text="skip"  storage=""  target="skip" ]
@anim name="sukip" time=10 opacity=150
;スタッフロール
@layopt layer=0 visible=false
[ptext layer=0 text="クレジット" size=20 x=400 y=300 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=400 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=500 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=600 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=700 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=800 color=snow name="text"]
[ptext layer=0 text="スタッフロール" size=20 x=400 y=900 color=snow name="text"]
[wait time=1]
;スタッフロールの文字がアニメーションする設定
[keyframe name="animation1"]
[frame p=0% y="400"]
[frame p=100% y="-1000"]
[endkeyframe]
;アニメーションの実行 3秒かけてキーフレームアニメーションを実行
[kanim name="text" keyframe="animation1" time="30000" easing="linear" ]
;スタッフロールを描写したレイヤーが見えるように
@layopt layer=0 visible=true

;背景画像を変更
[bg storage="0_midori.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kiiro.png" time="3000" wait="false"]
[wait time="3000"]
[bg storage="0_kuro.png" time="3000" wait="false"]
[wait time="3000"] 
;アニメーションの再生を待つ(waを使うとボタンが使えないためウェイト)
;ここの待ち時間は画像変更中のタイムを引いて計算しています。
[wait time="20000"]


[cm]
;エンドテキスト
[ptext text="The End" layer="0"  x="580"  y="250"  size="35"  edge="0xffffff"  color="0xffffff" name="end" time="2000" name=end]
;クリッカブルでクリックでs(ゲーム停止)を飛ばす
[clickable  width="1100"  height="760"  target="skip"  ]
;ゲーム停止
[s]
;クレジット終了
*skip
[cm]
[wait_cancel]
;テキストを消去
[freelayer layer="0"]
;タイトルへジャンプ
*title
@bg storage ="title.jpg" time=2000
@jump storage="title.ks" target="start"


++++++++++++++
制作したいと頑張る
みなさんの作品が無事公開できることを応援しています。