投稿記事

2020年 10月の記事 (5)

satofumi 2020/10/30 20:00

モデルの位置を変更できるようにする

シーン(背景)のアセットが配置できるようになったので、次は PV 撮影におけるモデルとカメラマンの位置を指定するあたりの実装をしていきます。

最終的な仕様としては、

・タイムラインで位置を指定することで、モデルやカメラマンの移動も表現できるようにする。
・モデルの位置と角度の指定はドラッグで行えるようにする。
・シーンを眺める角度を右ドラッグでぐりぐり変更できる。

ということを考えているのですが、とりあえず実装を簡単にするために妥協します。
妥協するとこんな感じです。

・ボタンを押した後のクリック位置にモデルやカメラマンを配置する。
・モデルとカメラマンは互いの方向を向く。

我ながら良い妥協だと思います。うっとりです。


では実装していきます。
まずはパネルを2枚配置します。上のパネルにはカメラマンがモデルをどう見えるかのプレビュー表示を行い、下のパネルにはシーンを真上から見下ろした描画を行います。そして、下のパネルのクリックした位置にモデルが配置されるようにします。

この UI において、カーソル位置がシーンのどの座標に相当するかを返すメソッドを作り、なんやかんやすると実装完了です。見下ろしカメラの投影モードは Orthographic にしたので算数の苦手な私でも座標変換が簡単に行えます。えっへん!


中央にいたモデルを少し右上に移動させてみた。

作っていて思ったことは

・ホイール操作で下パネルの描画範囲を拡大縮小したい。
・カメラマンの位置変更もそのうち実装する。

です。
でもまぁ、ここまで動作すれば良いことにします。今作っても後から作り直すかもしれないので、細かい作り込みは各機能を全体的に作ってからまたやります。

次は VR 空間で手を降ったときに、それを保存して再生できるあたりを実装しようと思います。今後もがんばります。

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

satofumi 2020/10/28 20:00

背景シーンの配置とタイトル画面の作成

今回は背景を選んで配置できるようにするあたりです。
ちょうど数日前に Unity のセールで買った「メガバンドル・ジャパン」バンドルに使えそうなアセットがあったので利用することにします。いくつか候補があったのですが、とりあえずは学校の教室と団地の2つのアセットを利用します。

そして、何も考えずにそれぞれのデモシーンを Prefab にして、ボタン押下に応じてそれぞれのシーンが配置されるようにしたものが以下の画像になります。


すごく良いですね。背景が配置されるだけで進捗がぐっと進んだような錯覚に浸れます。最高です。
そして、私の理解が不足しているせいで全体的に暗いとか、調整不足でモデルが地面から浮いているとか、そういうことはとりあえず後回しにします。後回しにできることは後回しにすべきなのです。私は開発には妥協が大事だと信じています。

そして、団地については SteamVR の Teleporting クラスを使えるようにして、VR コントローラでテレポートして移動してみたんですけど探検してるみたいでワクワクしました。良いですね。


さて、次はタイトル画面の作成です。
どう考えてもタイトル画面みたいな必要かどうかわからないものの作成は後回しにすべきなんですが、どうするか考えてたら「考えるのと作るのはだいたい同じだし、作っちゃうか!」って思ったので作っちゃいました。

このタイトル画面では "Rounded UI Pack" なるアセットを利用しています。
そして Unity の多言語対応の機能である Localization Tools を使ってみて日本語表示にしたものがこれです。

Unity 便利ですね。大好きです。
リリースまでにはタイトルを決めたり背景画像を変更したいとは思っているのですが、それは後回しです。未来の私に期待します。

こんな感じで今後も未来の私にタスクを残しながらの開発をしていきたいです。
がんばります!

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

satofumi 2020/10/26 20:00

スカートをつかめるようにする

まずは、VR コントローラでスカートを掴んで揺らせるようにします。
調べてみると、スカートの揺れは Dynamic Bone というアセットで実現されているようです。大丈夫、Dynamic Bone は Humble Unity Bundle 2019 に含まれていたので持ってます! ありがとう、Humble さん。

で、Dynamic Bone を Unity で表示するとこんな感じです。

Unity でモデルを動かすとスカートが揺れるのが確認できました。
いいですね、揺れるスカートにはロマンもたゆたっているように思います。

スカートが Dynamic Bone で揺れていることがわかったので、スカートを揺らせるようにしていきます。具体的には DynamicBone.cs にボーン位置のオブジェクトを返すメソッドと位置を更新するメソッドを追加して、コントローラで「握る」操作をしたときに、ボーンがコントローラに吸い付くようにしました。

コントローラにスカートが吸い付いた様子です。

良い感じだと思います。ただ、よく見るまでもなく傘のように広がったボーンの1つの方向しか位置を変更できていません。
これについては、同じ高さにあるボーンを連結したかのような動作をするクラスを追加して対処しました。このクラスでは、ボーンの横同士の距離をなるべく保つように位置を設定します。

これにより、スカートっぽい挙動になったと思います。良い感じです。

最終的にはこんな感じになりました。

手の位置がスカートに接していないのですが、これについては後回しにして別の実装を進めようと思います。開発初期なので「立ち止まってこだわる」より「妥協して先に進む」を優先したいのです。まずリリースできる状態にしたいのです。

次回はモデルの背景になる建物を配置していこうと思います。
引き続き、がんばって妥協して完成を目指します。

次回の投稿: 水曜日の 20時

satofumi 2020/10/23 20:00

作る PV 作成ツールの仕様を書きました

作るツールの仕様ですが、夢をたくさん詰め込んで「なんでもできるツール!」を目指すと完成しないのでリリース時の機能は極限まで削ろうと思います。

考えた仕様を削る作業は「いったんリリースしてから機能追加すればいいよね」という建前を自分に言い聞かせながらやれば大丈夫です。妥協を積み上げた先に完成はあります。

このツールの最初のリリースで目指すものは

「立っている、または座っているモデルへのインタビュー風の PV を作れる」

にします。
PV(動画)作成までの流れとしては、

・モデルの外の環境を「教室」「屋外」から選ぶ。
・環境にモデルとカメラマンの位置を設定する。
・モデルの上半身のモーションを VR 空間で演じて記録する。
・出力のタイムラインを編集して、モーション、字幕、音声、エフェクトを追加する。
・編集した結果を動画出力する。

を考えています。
VR では演じることだけ行い、それ以外は PC でマウスとキーボードを使って行うようにします。VR 内で細かい作業をできる UI を作るのは大変そうなので。

機能を極限まで削るべきと言いながら、現時点で諸々の実装がめんどうそうなのが悩ましいです。モデル操作についてはあまり詳しくないので勉強しながらの実装になります。
ともあれ、がんばって妥協して完成を目指します。

次回の投稿: 月曜日の20時

satofumi 2020/10/21 21:00

VR で PV を作るツールを作りたいです

3D モデルの「幽狐族のお姉様」を購入してモデルの両手を VR コントローラで動かしたら思いの外に楽しく「この自分の動きを簡単に動画にするツールを作りたい!」と思ったので作り始めてみます。

自分で企画する自分のためのツールで、将来的に 500 円くらいで販売する小さい規模のツールを想定しています。今の予定はこんな感じです。

作りたいもの: VR でモーションを作る PV 作成ツール
リリース目標日: 決めてない
ここでの進捗報告: 月・水・金の 20時
制作エンジン: Unity

目標や自分へのプレッシャーを大きくしすぎると嫌になって完成しないので、このプロジェクトも自分を優しく、そして甘やかしていく方向でがんばります。
まずは、次の 10/23 までに報告できる進捗を出したいです。

よろしくお願いします。

月別アーカイブ

限定特典から探す

記事を検索