投稿記事

2020年 11月の記事 (13)

satofumi 2020/11/30 20:00

ロード用パネルの作成とリリースまでにやること

今日は仕事してたら開発する時間がなくなったので、実装済みのロードパネルの紹介と体験版リリースまでにやることを列挙しようと思います。

ロードパネル

プロジェクトをロードするためのパネルです。サムネイル表示は動作してないですが、とりあえずロードできます。良いです。

このスクリーンショットを撮るためにタイトルシーンを表示して、このツール名を決めてないのを思い出しました。名前を決めるのはすごく苦手です。

体験版リリースまでにやること

可能な限り最低限の機能で最初の体験版を出したいです。「常にリリースできる状況」を維持しながら開発したいと思っています。

体験版のために実装すること
・字幕(ナレーション)表示
・表情変更
・Final IK を適用する … 専用のシーンで動作確認したがまだ適用してない。
・セーブパネルを作る

可能なら実装すること
・ポーズ変更 … 座りポーズの実現(座り中のスカート表現の工夫が必要)
・モデルを移動させられるようにする … 歩きながら撮影するときに使う。
・カメラマンとして動作できるようにする … 手の位置に撮影用カメラをつける。
・スカートを掴んだときの手の位置の調整

あとは少し前の記事でも書きましたけど、具体的な PV 内容を決めた上で必要な機能を実装していくのがいいですね。ちなみに私はシナリオを書くのはとても苦手で「シナリオを書くぞ!」と身構えると結局シナリオを書けなくなるタイプです。なので今決めます。


シナリオ案
・教室のシーンで
・「桃太郎さん、きびだんごを1つ下さい」「お供します」という字幕を表示する。
・右手の人差し指を立てて「1つ」的なモーションを行わせる。
・「お供します」のタイミングで笑顔にする。

いいですね。ここまででハンドサインの変更機能が不足していたのがわかりました。
これも実装していきます。

今回は以上です。
今日みたいに記事に追われることがないように数日分は記事をストックさせたいです。
がんばります。

次回の更新: 水曜日の 20時

satofumi 2020/11/27 20:00

動画として保存するあたり

今回は、いよいよモデルを動かしてその様子を動画として保存するあたりです。

RockVR Free を用いた Video Capture の動作確認

まず RockVR Free のデモで音付きで録画できるのを確認しました。使い方としては Unity 内の指定したカメラにプレハブを設定すればオッケーでした。ただ、Rock VR の Free 版だと生成した動画の左下にアイコンが強○的に描画されてしまったのですが、ちょうど良いことに Unity Asset Store がセール中で Pro 版が 50% 引きで $25 なので買っちゃいました。
ほとんどの場合、アセット購入に悩みかけたときは「自分で作るより早いよね?」って言い聞かせれば躊躇なく買えます。

動画ファイルの保存

そしてカメラマンの位置に記録するためのカメラを配置して先ほど購入した Video Capture Pro を適用し、モーションを確認するためのミラーも隠したときのスクリーンショットがこんな感じです。

そして、録画開始のためのボタンを配置して動作するようにしました。
ここまででとりあえずの録画が動作するようになりました。良いです。

録画をキャンセルしたときに生成途中のファイルが残る上に Lock されていて削除できない問題は、また後で考えることにします。そう、後できることは未来の自分に任せたいです。がんばってほしいです。

指定モーションの再生

そして、なんやかんやでクリップを組み合わせたモーションを再生しつつ録画できるようにしました。


↑録画中のアプリ


↑録画された動画

良いです!

ここまでで、本当に最低限の機能で実装し終えることができました。
繰り返します、良いです。
アプリでのプレビュー表示と録画した画像とではモデルとの距離が違ったり暗いのは未来の私が解決してくれるので後回しにして大丈夫です。

さて、リリースするレベルまでにはまだまだ実装に時間がかかるのですが、今回の実装を通して Unity とか VR に少し詳しくなれたので現時点で私は割と満足です。

そして、このツールを作っていて「VR のゲーム作りたいな」と思ってしまったので、今後はそっちのプロジェクトも進めようと思います。具体的には、現状の週3回の更新のうち、2回をこのプロジェクトに割り当てて、残り1回は別プロジェクトのデモの作成を行っていこうと思います。

今後の長期的な開発予定としては、

・週2回の開発(記事更新)は継続して行う。
・他人が使えるレベルになったと思ったら機能不足でよいので体験版をリリースする。
・1か月に1回くらいのペースで体験版のバージョンを上げる。

ということを考えています。

VR で作るゲームとしては「VR スナイプゲーム」「VR ボクシングゲーム」「VR 箱庭ゲーム」なんかを考えています、後は VR とは関係ないですけど日本のお城に籠城するゲーム "Bonsai Castles 2" の企画もそのうち書きたいです。

さて、次回以降は「開発者以外が使えるようにする」を念頭に置いて実装していきます。とりあえずは動画編集のパネルに挿入したクリップ位置にバーを描画するあたりから行います。がんばります。

次回の更新: 月曜日の 20時

satofumi 2020/11/25 20:00

クリップを動画編集のエリアに挿入する

やっとこさ動画編集まわりの実装です。がんばって実装に着手していきます。
今回実装したことは

・データを読み込んだときにクリップ情報が消える不具合を修正した。
・クリップを動画のタイムラインに挿入できるようにした。

です。
不具合は「UI の操作があったから、ここも更新してそのデータを更新して…」みたいな処理の途中で必要なデータがクリアされてしまっていました。過去の私が実装した UI まわりのコードの複雑さが早くも私の理解を超えつつあるのを感じます。

クリップのタイムラインへの挿入

まず、クリップを動画に挿入するときの画面表示はこんな感じです。

で、今回は右上のクリップのボタンを押すとそのクリップがオレンジ色のカーソルラインの位置に追加されるあたりを実装しました。
本来ならクリップを追加したらクリップ位置にバーを描画すべきですが、また今度に実装することにします。

そしてクリップを追加してから保存したときのプロジェクトのファイルの中身がこんな感じです。


末尾4行が今回の操作で追加されたクリップ情報なのですが「クリップが 2.03 秒と 7.02 秒の位置にあるよ」という感じです。
そしてこの o0, o1 というクリップのうち、o1 の実体は上から5行目にあって、名前が "clip 1" だとかモーションにおけるクリップ位置が定義されています。

今回、実装したことを UI が動作している画像で見せたかったけど、その実装が間に合わずに保存ファイルの中身を見せながら説明しているのは、少し悔しいです。

動画出力のために

ともあれ動画に対してクリップを追加できたので「よっしゃ、mp4 出力のあたりに着手するか!」と思って出力ボタンを押したときの画面がこれです。

今、19:30 でもう時間がないので、次の実装の動画出力のために行うことだけ列挙してみると、

・(自分のモーションを見るための)ミラーを隠す。
・モデルを映すためのカメラをカメラマンの位置(今のミラーの位置)に配置する。
・アプリの画面全体にパネルを表示して上記カメラの内容を映す。
・画面全体を記録して mp4 として保存する。

くらいかな、と思います。
mp4 を作るのに利用するつもりの Rock VR アセットの理解も必要そうです。

エディタの UI 実装に苦しめられていますが、次回もがんばります。

次回の更新: 金曜日の 20時

satofumi 2020/11/23 20:00

Final IK を購入したので適用してみる

先日の Unity のセールで Final IK を購入したので、モデルの操作まわりに適用します。

Final IK の VRIK をモデルに適用する

適用方法はいろんなサイトで紹介されているので省略します。
個人的には VR IK で期待していたのは

・トラック対象がヘッドセット、左右の手のときに足をそれっぽく移動させる。
・キャリブレーション

の機能でしたが、それぞれいい感じでした。


↑キャリブレーション前に手を水平に上げたとき。(モデルの手が水平じゃない)


↑キャリブレーション後に手を水平に上げたとき(モデルの手が水平)

いいですね。
何かの課題をお金で解決するの大好きです。

VR IK を適用して1つ気になったのは、少しかがんだときに腰の角度が変わるようになり、そのときにスカートの角度も一緒に変わってしまうことです。今の私のモデルの使い方だと、スカートの角度がダイナミックに変わってしまって悩ましいです。


とはいえ、スカートの処理はこだわると時間がかかりそうなので、いったん後回しにしようと思います。

今回は UI の実装でなかったのでとても楽しかったです。エディタっぽい UI の実装は大変です。次回は動画編集の UI 実装に戻ります。

次回の更新: 水曜日の 20時

satofumi 2020/11/20 20:00

ホイール操作で編集範囲の拡大縮小と時間の描画のあたり

引き続き UI 実装を進めていきます。本当は動画を保存するあたりに着手すべきだったのですが、ホイール操作で編集範囲を拡大縮小するあたりの実装に着手してしまいました。


で、ホイールによるタイムラインの縮小処理の途中まで実装したのがこんな感じです。


下のスクロールバーが小さくなってます。ただ、時間の表示が行われてないので縮小されたことがわかりにくいですね。

そして、秒数の表示と水平スクロールバーの移動をその秒数に反映させたものがこれらです。


「↑起動直後」


「↑拡大してスクロールバーを左に」


「↑拡大してスクロールバーを右に」

とりあえず動作していて良いです。
今更ですが、とりあえず拡大縮小まわりは後回しにして動画編集まわりに着手すべきだったな、と思っています。ちょっと良くなかったです。あと、拡大まわりは縮小より大変めんどうなので後回しにします。


さて、ここから今日のポエムタイムです。
今日のポエムは「UI の実装は思うように進まないけれど、まぁ、やってくわ」です。

趣味の個人開発プログラミングは、商業的なそれと違ってお金がなくなって終了することはほとんどなくて、やりたくないタスクを放置し続けて開発に着手しなくなった結果として終了すると思っています。なので、思うようにいかないとしても、こんな感じで進めていきます。
(まぁ、本当につらいと思ったら終わりにします)

次回は動画編集まわりの UI 実装の続き、もしくは先日購入した Final IK のモデルへの適用をやろうと思います。

次回の更新: 月曜日の 20時

« 1 2 3

月別アーカイブ

限定特典から探す

記事を検索