忍者ブログ

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

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

ティラノビルダー。ロード中、ロード待ち画像を表示。now loading。やり方。

シナリオの切り替え時、画像が多かったり重かったりで
読み込み待ちが発生します。フリーズと間違えられてしまうことも。

でもナウローディング、(now loading)を表示する方法がわからない。
できたらいいなー。
調べてたら、イメージプリロードという言葉を使うことがわかりました。
(シナリオの読み込み直前に画像を全部読み込み終えておいて、
シナリオ中の表示をスムーズにする事です)

ティラノビルダーはシナリオファイルを作成すると
『自動で』イメージプリロードを作ってくれている機能があります。
(ビルダーからだと開いたり、見たりすることができません)

開くにはフォルダから直接

myproject/プロジェクト名/data/scenario/system

にある _シナリオファイル名.ks

をメモ帳で開きます。



こうなってます。(シナリオで使う画像が自動で書かれてますすげえ)
[preload storage=./data/bgimage/0siro.png"  ]
というのがプリロードの指示です。

ちなみに ファイル呼び出し場所の .←の意味がわかってないので知りたいです...
(シナリオファイルだと使ってないんで、ファイル場所を頭から記述するときにいるのかな???)

で末に[return]とあります
これでシナリオファイルに戻るという指示です。

※シナリオファイルをメモ帳で開けると
(ビルダーで作った、myproject/プロジェクト名/data/scenario/にあるやつ)
一番上に
[_tb_system_call storage=system/_ep_amane.ks]

と記述されています。
callでscenario/systemフォルダにある_同一ファイル名.ksのプリロードが
記述されたファイルを呼んでいるのです。
ということでロード中の画像表示は


としてみました。
プリロードの前に
[image layer=1  storage="default/lodomati.gif" x=0 y=0 visible=true]
で画像を表示して
プリロードが終わって、[return]の前に

[freeimage layer=1]で画像を消します。

(imageについてはタグリファレンスみてね レイヤー1の1も適当なので)
追記:
[freeimage layer=0]のあとプレビューでは大丈夫ですが
ウェブ上でLive2Dが表示されない現象に遭遇しました
ライブ2Dはlayer=0に表示されています気を付けて。

画像はgifアニメで作って(lodomati.gifのこと)
プロジェクト名/data/fgimage/default
の中に入れておきました。

ビルダーでは操作できないのでフォルダを開いて直接です。

そして、ビルダーでシナリオファイルを上書き保存すると
このシステムフォルダにある、_シナリオファイル名.ksも上書き保存されてしまいます。
つまり最初の画像の状態になります。(ビルダーで上書きしないよう注意!!)

ということでこれをやりたいときは
シナリオが完成したあと、メモ帳で編集保存して、
上書き保存せずにプロジェクト全体の再生ボタンを押して動作テスト
あるいは書き出ししたファイルで編集してウェブにアップして動作テストしてください。


ビルダーは初心者向けにシステム構造や大事なファイルが
見えない、さわれないようになっています。
でも、少し突っ込んで何か作ろうとかやりたい演出があると
ファイル構造がわかってないと難しいですね。
(スクリプトの枠を入れてタグを直接書きこむことも可能ですが)

ファイル構造がわかってきたら、制作スキルもステップアップ~
でも毎回わからなくて調べまくったり、スクリプトタグを読んで意味考えるのに
めっちゃ時間かかってやつれる(>´ཀ`<) 楽しいけどな!!!
そしてうまくいったら\(^o^)/雄叫ぶ。




以下余談:

超お世話になる&なってる
ティラノスクリプト 製作テクニックwikiさまと
公式タグリファレンスで

[preload](画像ファイルの事前読み込みタグ)

を調べると
[iscript]
f.preload_images = ["data/fgimage/ファイル名.jpg","data/fgimage/ファイル名2.png","data/fgimage/ファイル名3.png","data/fgimage/ファイル名4.png"];
[endscript]
[preload storage=&f.preload_images wait=true]
 
wait=trueで読み込みが終わるまでゲームを停止するっていうのがあるので

ナウローデングつける時は
一括読み込みしなきゃいけないのかな?????と
↑自分の?????を解消するのに時間がかかりました。

ちなみに
[iscript]
f.preload_images = ["data/fgimage/ファイル名.jpg","data/fgimage/ファイル名2.png","data/fgimage/ファイル名3.png","data/fgimage/ファイル名4.png"];
[endscript]
f.preload_images という変数=画像ファイル名複数と定義していて

[preload storage=&f.preload_images wait=true]
で変数名を入れる事でプリロードタグ1つで画像ファイルを複数読み込んでいる
ということみたいです。


_ファイル名.ksのプリロードのファイルをこの書き方で書き換えて上下に
画像表示、消去を入れるというのも最初に試してみたのですが…
ビルダーで自動でできてるやつそのまま使えばよくね??ってなって
やめました。(あとなんかミスっててうまくできなかった…;w;)
あとwait=trueも入れてないです。(ブログ前半に載せた方法)
読み込み中画像が出てて、プリロードタグが終わってリターンの前に画像消すっていう
動作は同じ気がしたので…。

※この一気に読み込む書き方はシナリオファイルで行うとか
 同じ素材を複数のシナリオで何度も読み込むときに便利だと思います。

まぁ…なるべくシナリオファイルを短くして
(1つのシナリオファイルに詰め過ぎない)
毎回の読み込みを軽くするのが一番いいですね。
つまずいてる時はだいたいこういう気持ち→(´ཀ`)





PR

ティラノビルダー。live2Dロード後表示おそい問題。

ライブ2Dを入れたブラウザゲームで、
ライブ2Dのキャラクターが居る場面をセーブして、
ロードすると、ライブ2Dの表示にかなり待ち時間が発生します。
キャラクターが複数いる時は1体ずつ読み込まれるので顕著です。
キャラクターが表示されていない状態でクリックや選択肢押しなどで
進めてしまうと、フリーズします;m;

現在、私の技術では復帰を早くする方法がわかりません。
フリーズしてしまったプレイヤーさんも居て申し訳なく(><;

ロード直後にマスク画面を設定し、操作ができない時間を作ることにしました。


ビルダーでは見えませんし、編集することができませんが
プロジェクトのフォルダの、data/scenario/の中に
make.ksというファイルがあります。
make.ksはロード・コンフィグを開いて閉じた時に参照されるのファイルらしいです。
メモ帳で開きます。



こんな感じです。
[call storage="system/live2d.ks"]
;live2d復元
[live2d_restore]
というのがlive2Dをロードで呼び戻すのに必要な処理のようです。

でティラノスクリプトには[mask]
という、画面を暗転させることができるやつがあります。
[mask  time=100] 
[call storage="system/live2d.ks"]
;live2d復元
[live2d_restore]
[mask_off]
というのにしました。(timeはお好みで。[mask_off]にもタイムつけれます。
これだとまっくろなので
[mask  graphic="lodohitodama.gif" time=100] 
こーすればimageフォルダに入れた画像もマスクで読み込めるのです。



こんなgifアニメを作りました。
ほんで、imageフォルダに入れて
マスクで呼び出して見ると


こんなんなっちゃったよーー;▽;

しまった画面いっぱいにのびのびになってしまいました。



ので作り直し。画像を背景サイズにしました。
gifアニメだけと色数すくないから軽いです。(2.16kb)

この画像をlive2d復元の間に呼び出すことで操作不能時間が発生します。
[mask  graphic="lodohitodama.gif" time=100] 
[call storage="system/live2d.ks"];live2d復元
[live2d_restore]
[mask_off]

ということで、ライブ2Dが居ない場面での
ロードも操作開始まで長くなってしまいますが;
ライブ2Dが復元前に操作してフリーズするのを
回避できるのではないかという工夫でした。
[return]は消しちゃいけません。
***************
追記!!
[mask  graphic="lodohitodama.gif" time=0] 

とタイムを0にするとiosだと固まっちゃうぽいです
PCだと大丈夫なんだけど…
iosむずい_(:3」∠)_

ティラノビルダー。Live2Dの読み込み方。

ライブ2Dのやり方記録。
いろいろと調べながらティラノビルダーにライブ2Dを読み込んだ時は
数々の失敗をしました。


まず読み込み用モデルの作り ※これはcubisme2.1のです。 3は『こちら

①ライブ2DCubism 2.1 モデラーでライブ2Dつくります→mocで書き出し

②ライブ2DCubism 2.1アニメーターでモーション作ります→mtnで書き出し

③ライブ2Dビューアーでモデラーで書き出ししたmocファイルとmtnファイルを
 モデル名.model.jsonファイルに書き出しします。
(viewerを起動→mocファイルを読み込む、
 →mtnファイルをドラックして入れてテスト再生→okなら.model.jsonファイルを書き出し)

④ビルダーで.model.jsonファイルを読み込み
 (注:周辺関連ファイルも勝手に読み込まれるのでフォルダを整理しておくこと)

→ここで私がやらかした失敗
最初読み込み用ファイルをディスクトップに置いていたら
モデルを読み込んだら重っくなってビルダーがフリーズして
何かって思ったら


.model.jsonファイルはビルダーのライブ2D読み込み画面で
読み込むと周りのフォルダも一緒に読み込まれるのです。

ディスクトップのショートカット全部つっこまれてた<〇> <〇>

そら重いがな!!!!

ということで読み込むファイルは
1キャラごとにフォルダに分けて(重要)フォルダの中は
 
このように必要なものだけに。 モーションはフォルダにまとめてます。
あとmotionフォルダは違う名前でもいいけど
古いバージョンだとmotionじゃないと誤動作あったらしい(?。

現在たまに違う名前のファイルにしてるけど大丈夫だけど…
なるべくmotionにしよう…。

どうでもいいけど↑のファイルはこのおばあちゃんがべローンと舌をだすやつだよ^p^


2Dをぬるぬる動かせるライブ2Dわっくわくのドッキドキだよ!!


ビルダーの読み込み方は公式サイトがわかりやすいよ。
https://b.tyrano.jp/tech/page/live2d


あとさあて読み込むぞとしたら
ビルダーに読み込みませーんといわれてあれれー_(:3」∠)_って
なったらjsonファイルのスペルをjosnに間違えていたとか…ありました。

(trueとかfalseでもよくスペルミスをやらかす私。エラーがでてたらスペルミスだった…とか。


ちな、.model.jsonファイルってなにかっていうと


こういう、ライブ2D関連のファイルを参照してくれるファイルです。
実はviewerでつくっただけだと、ティラノビルダーでアイドリングモーションが
おおむねうまくいかないのでこちらを参照ください


ライブ2Dキュビスム3も出てるけど
ビルダーのプラグインが2.1の対応なんだな


読み込みファイルの作り方!こちらのブログ記事もわかりやすいです!!
GALVAS diaryさん Live2Dがうごくゲーム作ってみました。
http://kamiyoshi.blogspot.com/2015/04/live2d.html


追記************2019/09/7
(ビルダー1.70~1.83までのlive2DのSKDは2.1です)
  なんとv184かlive2D3の対応になりました。
 そして…live2Dはcubisme4がでました…時の流れ…



ティラノビルダー。Live2Dのアイドリングモーションが

ティラノビルダー。Live2Dのアイドリングモーションが設定したのと違うー
というのが作ると必ずなりました。

ビルダーに読み込むようライブ2D作る時には
ライブ2Dビューアーで
モデラーで作ったmocファイルと、
アニメーターで作ったモーション(mtnファイル)をがっちゃんこして
ファイル名.model.jsonファイルを書き出します。

そして.model.jsonファイルをビルダーに読み込むと~

あれーアイドリングに設定したモーションが下の方に行ってて
違うモーションがアイドリングで再生されてるー
ということになります。

ビューアーではmtnファイルの名前にidleと入っているファイルは
自動的にアイドリングモーションとして認識されます…が


.model.jsonファイルをメモ帳で開けてみると




idleモーションは一番下にあります。
(テスト用に公式さんから借りてきたサンプルモーションだよ)

ティラノビルダーでは一番上に書かれているモーションがアイドリングモーション
になります。


なのでアイドリングモーションにしたいモーション名を一番上に書きかえるのです。
そしてメモ帳を上書き保存して閉じるのです。

これで解決( ᐛ )

”idle”の部分はモーションの種類が設定されてるところ見たいです。
私は一応これも、一番上の段にしてるのですが、これはそのままでも
ビルダーでは関係ないみたいです。(ビューアーはこれで認識するけど…?)

よくわかりまぬう。


あと"idle"に尺が長いモーションを書いて下さい。っていうのがあって
尺長い方がいいのかな…


************************************
※追記(2018.2.4)

久々にライブ2Dいじってティラノビルダ―に入れようとしたら上記手順で
うまく読み込めなくて????ってなったら
なんと緑色の点を書き換えるのを忘れていてファイルがだめになってました↓


アイドリングモーション移動させる時は気を付けて!!
う?わからんってひとは水色の部分のファイル名のみ入れ替えましょう。
モーショングループの名前はそのままでもティラノビルダ―では今のところ
不備ありません。ライブ2Dビューアーに読み込むときにいるのかな(?)

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

ちなみに他の方も書いていらっしゃいます。
先人様たちがいらっしゃりますぞ。
先人様たちのおかげで私も進むことができるのです (;人;)
だからみんなでがんばろーじぇ(´ω`)b

ティラノビルダー。バックログ不具合?_?。

ライブノベルで作った転生天命のブラウザゲーム移植版がやっと完成しましたー^O^
https://www.freem.ne.jp/win/game/16341


ので投稿したんですけど、
バックログボタンを押して、back(クローズ)ボタンで戻るとタイトルに戻されるという不具合が
発生しまして。

自分の環境win7のクローム&ファイヤーフォックスでは問題なかったので
むむむむううってなりまして。

どうもwindows10のEdgeブラウザだと発生するみたいで

ファイルとにらめっこしたり、友人にテストプレイを頼み実験したりして

tyrano/htmlフォルダのバックログのhtmlを編集すると対応できることがわかりました><
バックログのクローズボタンは
<div class="menu_item" style="float:right">
     <a href="#"><img class="menu_close" src="tyrano/images/system/menu_button_close.png"></a>
のリンクで表示されています。
他のメニューのhtmlは
<div class="menu_item " style="position:absolute;right:0px">
    <a href="javascript:void(0)"><img class="menu_close" src="tyrano/images/system/menu_button_close.png" style="width: 90px;"></a>
   
になっています。

 <a href="#">がEdgeではブラウザのリロードになり、タイトルに戻される原因のようでした。

ここを <a href="javascript:void(0)">にメモ帳書き換えて無事審査を通りました^O^

javascript:void(0)ワカラン人はググってみてー何もしないリンクという指示っぽいです。


あとtyranoフォルダは最新版のティラノスクリプト(現在版(458_r4))をダウンロードして上書きしました。


ただ、メニューで不具合が生じるのは投稿先のサーバーの関係によるようで
(fc2さんとかだとメニュー真っ白になって使えませんし)
ノベルゲームコレクションさんに投稿した場合は大丈夫だそうです~。

なにあともあれわかってよかった_(:3」∠)_



※追記
ティラノスクリプトが458_r5にアプデされました。こちらを落として
上書きすれば上記の不具合も改善されるみたいですヾヽ(´▽`)ノ。