投稿記事

satofumi 2020/12/09 20:00

モデルの表情を変更する

今回はモデルの表情変更を実装していきます。

表情変更のデモ作成

とりあえず、笑顔にするアニメーションを作成してスクリプトで制御するデモシーンを作っていきます。モデル付属の目パチ用のアニメーションをコピーして笑顔用のアニメーションに変更しました。

そしてスクリプトで笑顔とデフォルトとを切り替えさせてみたのがこれです。

動作してますね。良いです。

表情変更の設定をプロジェクトに保存するあたり

動画の編集 UI から表情を変更できるようにする必要があるのですが、とりあえずはプロジェクトのセーブファイルに笑顔にするデータを直接編集した上で、データを元に再生するあたりを実装します。

そして、動作したものがこれです。首を傾げながら笑顔になると少し怖いのがわかりました。動作テスト用のモーションは記録し直したいと思います。

さて、今回はこれくらいにします。
週3回の更新はめんどいと思うこともあるのですが定期的に「あぁ、開発しなきゃな」という気分になれるのは良いです。こんな感じで今後も実装していきます。

あと、作っていて「時間の幅の箇所を左クリックしたときのみカーソルラインをそこに移動させる」に機能変更しようかと思いました。こうすると左クリックを他の操作に割り当てられるので。

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

satofumi 2020/12/07 20:00

字幕を表示できるようにする

今回は動画に字幕(メッセージ)を表示できるようにしていきます。

録画するカメラへの文字列の描画

まず、UI の操作の前にテスト文字列を配置して録画できることを確認します。

動画の出力に使っている Video Capture Pro には「UI を含めて保存できます」あったのですが、方法がわからなかったのでカメラの前に 3D な文字列を配置することにしました。

そして、Unity の TextMesh と TextMesh Pro な文字列を配置した様子がこれ↓です。


左上の TextMesh Pro はモデルの奥側に描画されてしまっています。一方の TextMesh はシェーダーの関係で常に最前面に描画されるようです。

今回のツールでは描画する文字には縁取りを行いたいので、TextMesh Pro を使います。文字列の最前面への描画は、カメラの最前面に縮小した文字列を配置することで実現しました。


↑カメラとモデルと文字列のい位置関係

良いですね。
録画してみて文字列が描画されるのも確認しました。良いです。

文字列の UI での追加

次に文字列を UI から追加するあたりを実装します。

文字の追加は右上のパネルから行い、追加した文字列の編集については左上から行うようにします。描画する文字列で編集する項目としては

・テキスト
・表示秒数
・フォントサイズ
・左寄せ、中央寄せなんかの設定
・縁取りの有無や太さ
・色

にします。メッセージ途中の何文字かのフォントサイズを変更する方法については後でまたどうにかします。
これら項目のうち、メッセージのテキストと表示秒数以外はこの文字列を配置するタイムラインで共通にします。

それでは実装していきます。まずは右上のパネルから文字列を追加する UI の実装です。


↑とりあえず実装したものがこれです。


↑そして、文字列を入力した後で動画を出力した結果がこれです。

文字列が表示されてて良い感じです。大変良いです。

さて、動作したので今回はここまでにします。
次回は文字列表示の残りをするか、表情やハンドサインを変更するあたりの実装に着手しようと思います。がんばります。

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

satofumi 2020/12/04 20:00

日本の城に籠城するゲームを作る

過去に Bonsai Castles というゲームを作ったのですが、それの次回作で実現したいことを書いたり実装したりしていきます。

過去作の Bonsai Castles で実現できたこと

このゲームを作り始めたきっかけは、日本の城郭に行ったときに「実際に籠城してみたい」「お城を作ってみたい」「狭間から攻撃してみたい」「狭間から攻撃されたい」と強く思ったからです。


狭間(土塀にある穴)

そして、できたのがこんなゲームです。


Steam で売ってます。

実現できて良かったことを箇条書きで書くと

  • 城郭を作って籠城するゲームとして遊べるものになったこと。
  • 遊んでくれた人からの意見(私が考えてなかった要素)をいくつか取り込めたこと。

です。
作ってよかったと思います。まだ完成していませんが。

次回作の Bonsai Castles 2 で実現したいこと

まだ漠然とした構想なのですが、思うがままに次回作で実現したいことを書いていくと

・城郭以外の街並みが半自動で生成されるようにする。
  ・城下町エリアと道とを指定すると建物が勝手に作られる感じ。
  ・手動でも作れるようにする。

・広いフィールドで物流を表現したい。
  ・「物流経路を守る砦をここに作ろう」という戦略要素を出したい。

・防衛施設を自分でも設計できるようにする。
  ・大きさや高さが違う櫓なんかを自作できるようにする。
  ・足場、壁、屋根、移動経路、射撃位置を指定するエディタを作る。
  ・この機能で海外の城郭も表現できるようにする。
  ・見た目は MagicaVoxel で作ったものを割り当てられるようにする。

・ユニットが防衛するようにする
  ・防衛になったらユニットが所定の位置に移動する様子を眺めたい。
  ・「撤退した防衛ユニットが次の曲輪を守る」とかを実現したい。

・建物とユニットの縮尺をまともにする
  ・城下町を住民が歩く様子なんかを眺めたい。

・大量の敵が押し寄せられるようにする
  ・もっと「わらわら」感を演出したい。

などです。

基本的には過去作と同じルールにしたいのですが、物流と防衛ユニットを取り込んだときに、過去作のラウンド区切りでなくリアルタイムな時間の流れにする必要があるかなどを悩み中です。あとは、次回作を開発するだけのモチベーションが確保できるかを懸念しています。悩ましいです。

構想を考えるのは引き続き行いつつ、実装への着手は今の Bonsai Castles を正式リリースしてから行います。

もし、次回作について何か提案等がありましたらコメントをお願いします。

satofumi 2020/12/02 20:00

動画編集まわりでクリップがある場所にバーを描画する

必要最低限の機能で実装し終えたので、重要そうな要素から順番に修正を行っていきます。

クリップがある位置にバーを描画する

とりあえずでいいので実装します。
そして、実装できたものがこれです。


クリップがある場所に水色のバーが表示されています。いいぞ!

バーが表示できたので、次はこれを削除できるようにします。
削除はこのバーを右クリックしたら左上のパネルに「削除」ボタンが表示されるようにして、そのボタン押下で削除するようにします。

正直、右クリックをクリップの選択に割り振って良いかは悩ましいです。なぜなら右上のパネルにクリップを表示するための操作も右クリックだからです。まぁ、また後で考えましょう。

そして実装した削除ボタンで2番目のクリップを削除した状態がこれです。

削除後に動画を出力してみたところ、削除したクリップは適切に削除されていました!
いいぞ!

タイトルのシーンで VR 空間に「PC から操作してね」というメッセージを表示する

このツールは PC での操作がメインとなります。そしてアプリ起動後のタイトルシーンのときに VR ヘッドセットを装着してると何も表示されないので、VR 空間にメッセージ表示することにしました。

VR 空間へのメッセージ表示は TextMesh Pro を Steam VR の Camera に追加するだけです。ただ、メッセージを日本語にローカライズしたときに TextMesh Pro で使うフォントに日本語が含まれていなかったので下記記事を参考にして表示されるようにしました。
https://qiita.com/thorikawa/items/03b65b75fa9461b53efd


良い感じです。

次回の予定

さて、今回の記事はこのくらいにします。
次は「出力する動画の長さを指定できるようにする」「字幕を表示できるようにする」「表情を変更できるようにする」「プレビューと実際の動画との見た目が異なるのを修正する」のあたりのタスクに取り組みたいと思います。がんばります。

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

satofumi 2020/11/30 20:00

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

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

ロードパネル

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

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

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

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

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

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

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


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

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

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

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

月別アーカイブ

限定特典から探す

記事を検索