ティラノスクリプト備忘録5

=============Live2Dプラグインの改造===============
現行のプラグインだとモデルを倍掛けで制作してさらにゲーム中で2.0倍しないと意図したサイズにならないという仕様だったので、勝手に改造しました。
デバッグも何もかも適当なので、改造する際は自己責任でお願いします。
なお、サンプルでは通常通り動いています。
(併せて読む:Live2Dでモデル表示するレイヤーを変える

考え方の参考にしたサイト:UnityでLive2Dモデルを表示した際の拡縮率は?
このスレッド(多分)によると、行列計算に原因があるようだったので、ティラノスクリプトのプラグインの方も行列を確認してみました。

というわけで、data\others\live2dの中に入っているLive2Dtyrano.jsを変更。
334行目くらいから始まる行列を変更します。

これでglscale=1.0にて「モデル原寸」で表示することが可能になりました。
ただし、キャンバスサイズ以上の部分、つまり見切れている部分は、回転させたりすると見切れたままなので、サイズ調整には気を付けてください。←that.live2DModel.getCanvasWidth()から考えると修正可能な気はするけど今めんどくさいので後で気が向いたらやる。(だがそんな時は来ない)

============ptext(及びmtext)マクロとそれに対応したptextバックログ==========
とにかく配列無双。for文の中でティラノスクリプトを変更したくてたまらなかったのだがlayoptタグによる要素変更をjsで行うのとか正直無理だったので、製作wikiにあった
*loop
(スクリプト)
@if exp=”回転用条件式”
@jump target=”*loop”
@endif
で始末しました。ただしこの方法ではマウスホイールや上下キーへの対応がうまくいかずゴリ押したので後々バグが出るかも。バグったらその時考えるさ……。
なお、マクロ内のjumpはスタック的にヤバいかもなと思ったので、すべてfor文で対応可能だったこともありfor文で対応しています。
気が向いたら(あるいは需要があれば)プラグインにするかもしれません。

ティラノスクリプト備忘録4

===============ptextにおいて文頭全角スペースを表示する==================
<span></span>や<b></b>などのタグでスペースを囲む

===============ptext内の文章を改行する==================
<br>でよし

==============ptextの文章をバックログに表示=============
@macro name=”マクロ名”
@eval exp=”strArry = mp.text”
@ptext layer=0 x=%x y=%y size=%size color=white time=1000 face=”フォント変更” text=”&strArry”
@iscript
TG.pushBackLog(strArry);
@endscript
@endmacro
参考:【ティラノスクリプト】タイプライター風に文字を表示するマクロ

文字数で折り返したいので配列だしと思ってsplice()使ったらなんかまったくダメダメだったので手作業でどうにかしてるけど効率悪いからどうにかしたい。
諦めた!!! めんどくせえ!!! 誰か気になる人お願いします。そもそも配列じゃないのかもしれない?
→あんまりにもひどいので、以下、文字数で簡単に改行入れる方法

==========文字数で折り返し改行を入れる方法=============
1.サクラエディタを起動。何かと便利なので、ない場合はインストールをオススメします。
2.サクラエディタの「設定」タブから、「タイプ別設定」を開く。
3.「スクリーン」タブを編集。「折り返し桁数」を好きな文字数*2に(日本語は全角なので)。禁則処理も編集。OKして閉じる。
4.「設定」タブから「折り返し方法」を選び、「指定桁で折り返す」を選択。ルーラーを見て、指定桁で折り返しているかを確認して、折り返していたら次へ。
5.「設定」タブから「共通設定」を開く。編集タブを開き、「コピー」項目の中の「折り返し行に改行を入れてコピー」にチェックを入れたら、OKで閉じる。
6.テキストをコピーして別のエディタなどに貼り付けてみて、改行されていたら終了。

以上。

アプリ内課金の実装をしようと四苦八苦です。他の作業の片手間に色々調べたりしています。
実装に成功したらまたやり方を備忘録でまとめると思います(その前に他のどなたかが終わらせてしまいそうですが……)

ティラノプレイヤー【スタンドアロン版】でアンドロイド対応手順記録

先日、ティラノスクリプトの生みの親シケモクMKさんによりスマホ対応をより簡単にする「ティラノプレイヤー」というフレームワークがリリースされました。
Android、iPhone共に対応させることが可能なので、とりあえずテスト用に「ロボットと過ごした五人の話」をAndroid対応テスト(リリースは後述の理由により未定です)。他人のアンドロイドを使って実機テストしたので、画像はないですが、無事実機テストをクリアしました。Xperia ZL2とnexus5にて確認。
以下その過程における備忘録、あるいは手順みたいなものです。

ティラノスクリプト・スマートフォンアプリ化2017年 Android版
基本はシケモクMKさんのチュートリアル通り。記事中にあるリンクの先に沿って、jdkとAndroid Studioを導入。とても……時間がかかります……。あとすごい容量食う。UE4をなぜかバージョン違いで三つもインストールしていたので削除したのにも関わらず、資料用の2GBくらいある画像フォルダと、UE4のプロジェクトファイルを外付けに全部移し替えることに。まあ別にいいです。
あと、起動中、ディスクとメモリめっちゃ食います。半端じゃない。CPUはそこまででもない。私のPCが低スペなんですね、わかります。わかりたくありませんでした。起動時もめちゃくちゃ時間がかかります。仕方ないので、気長に、気長に。短気は損気。

タスクマネージャーをちらっと見たら、ええ~すごい数字出てる~。こわ。まあ動くんで別にいいです。低スペPC使いがこんなのを気にしていたらなんにもできません。

なんか適当にエミュレーターを作成して、エミュレーターを起動してみるぞ。
※プレイボタンを押す前に、エミュレーターは起動しておいた方がいいです。ちょっとだけ早いです。プレイボタンの右、六個目にある紫っぽいボタンでエミュレーターを先に起動できます。

そんなわけで起動。スクショを撮ろうとしたら、あまりの重たさにスクショソフトがついてこれず死亡。ダメだな! 諦めます。エミュレーターは起動しました。
因みに、メールソフトのサンダーバードと相性が悪いというか多分普通にスペック不足で、Android Studioをつけるとサンダーバードは高確率で落ちます。事前に切っておきましょう。スカイプとかも低スペPCなら切っておいた方が無難です。クロームの窓も減らしておきましょう。死にます。PCが。

そんなわけでエミュレーターを起動した状態で、プレイボタンをぽちー。これも長いので、大人しく待ちます。ビルドが成功したら、次はエミュレーターにインストールされますので、これも待ちます。

はい。ここでエラーが出ました。

別窓でエラー表示されました。読んでみると、エミュレーターにインストールができなかったようです。インストールできなかったからアプリアンインストールするね?と可愛くはないですが訊いてくるので、仕方なくOK。エラーログを見ます。

java.lang.IllegalStateExceptionうんたらかんたら。

色々やってみましたが、最終的に原因は、「お前のPC容量なさすぎてアプリのインストールができないよ」でした。まあ、エラーログの時点でわかってたんですけどね。原因書いてあるから。わかってたけど、色々やってみたら解決するかもしれないじゃん……。初めて触るからー! 初めて触るからー!! よほどぶっ殺してやろうかと思いましたが(誰をというわけではなく最早やり場のない怒りの最上級の表現として)、自分のPCのせいなので諦めましょう。諦めました。実機テスト最高やな! もうほんと三十万くらいの高スペPC欲しいです。

そういうわけで無事に起動するところまでこぎつけました。やったぁ!!(春麗風に)

さてこの原因に至るまで、ついでに色々やったので以下効果があったのかなかったのかわからない備忘録。エミュレーターの起動は早くなった。あとコマンドプロンプトから動かせるようになるのでなんだかんだ便利ですしもしかするとこういうのも原因になっていたかもしれない(最終的にPCの容量の問題だけが残ったので私はそれしか認識していませんが、それの下に潜んでいたかもしれない)ので、できる方はやっておく方がいいのではないかと思います。


!!!!!!ここから先を参考にする場合は自己責任でお願いします!!!!!!!
!!もしここから先を参考にして何らかの損害があっても、当方は一切の責任を負いません!!

インストールできへんのなんで、ということで、グーグル先生にお頼み申す。コマンドプロンプトでadbして動かなければパスが通ってないよと言われたので、試してみます。当然のように通ってませんでした。通します。
以下の解説を参考にします。コマンドプロンプトの出し方は、多分、Windows8.1なら、インストールアプリの一覧みたいな中にあるんじゃないかな……? ないかな……?
ググりました。出し方は以下を参考にしてください。
コマンドプロンプトの起動 – Windows8
Windows10とかの人はさらにググってください。窓7は……やっぱりググってください。

システム環境変数の出し方(Windows8.1の場合)
環境変数の設定 – Windows8の使い方

パスの追加の仕方(システム環境変数の出し方はWindows10の場合こちらに載ってます)
Androidの強い味方!Android Studioの導入手順(Windows)

toolsフォルダとplatform-toolsフォルダのパス、jdkのbinフォルダのパスを追加します。

そんなわけでパス追加したどー。
コマンドプロンプト起動。
こちらのページ(Androidアプリ開発でadbコマンドを使ってシェルを起動する方法【初心者向け】)を参考にして、コマンドプロンプトでadbコマンドを実行。エミュレーターは起動していないのでエミュレーターのシリアルは出てきませんが、デバイスがアタッチされてるよ、と表示されています。パスが通っていますね。オッケーオッケー。
Android Studioでエミュレーター起動。コマンドプロンプトでadb devices実行。シリアルが表示されています。一度エミュレーターを閉じます。
adb kill-server
adb start-server
で一度接続を再起動。再起動されたことをAndroid Studioのログで確認してから、エミュレーターを再起動。なんか起動もパス通す前より早いし、最高なのでは!?と思いながらアプリを実行します。

はい、エラーログは消えません!!!!!!!!
なぜなら、私の場合は完全にPCの容量のせいだったからです!!!!!!!

完全に私はエミュレーターの起動が早くなっただけで終わりましたね。別にいいんですけどね。
あと、Androidを接続した時に、ちゃんと接続されているか確認できるようになりました。地味に便利。

そんなわけで、ティラノプレイヤー【スタンドアロン版】によるアンドロイド対応させるまでの手順記録でした。
画質はかなり良好です。Live2Dもちゃんと動きます。やったぜ。ただし激重な処理をさせると、音楽がブツブツしたり画面がチカついたり(私は上下に帯画像を表示させているので、これがチカつく)する。これはおそらくというかほぼ確実に私の方の問題なので、要改善です。もう少し軽量化した方がいい模様。なお重たいのは主にLive2Dモデルで、今もう一度デバッグしてたら処理落ちしてジャネットのモデルが消えました。じゃ、ジャネットー!! なんかジャネット、何かアップデートするたびにいつも消えてねーか?(公開後Live2Dプラグインをアップデートした時にも消えてた)
とりあえず軽量化に向けて色々やってみます……。
リリース自体は、IPAライセンスの内包とか、スマホ向けにUI変更(主にボタン系)したり、自分のゲームを一つのゲームにまとめたりなどの作業があるのでまだまだ先ですが、動かせることは確認した&動かすまでの手順を確認したので、次はもっとサクサクできるでしょう。多分。何か思い出したら追記します。

基本的にシステム的なエラーは出ませんでした。ティラノプレイヤーは……すごいな……。

↓スタンドアロン版ダウンロードはこちらから↓
スマートフォン配信支援アプリ・フレームワーク ティラノプレイヤー