先日は、
8月の記事
にてGodotでのエクスポートについて書きました。
godotでは最初からアイコンが用意されているので、アイコンを動かしながら操作を覚えることが出来るようになっていますが、先日は、
のようなツリー構成にして、
のようなコードを実装したものをエクスポートしたのですが、Godotをインストールしただけだとエクスポートができないので、
のようにエラーが出ます。その為、インターネットに接続されている場合だと、
の 【 ダウンローシてインストール 】 のボタンをクリックして必要なファイルをダウンロードします。そうすると、エクスポートが出来るようになりますが、Godotでは
のような選択肢があるので、この中からエクスポートする対象を選択するとその環境で動作するものを書き出すことができます。今回は、Linux/X11で書き出していますが、圧縮せずに書き出すと
のようなファイルが出来上がるので、
をクリックして実行すると
のようなダイアログが出るので、 【 実行 】 を選択します。すると、
のように指定した画面が出てきますが、ここからキー入力で動くので、
のように動作します。HTML5はサーバにアップロードして動かす仕組みなので、ローカルで動かす場合には任意の環境でローカルサーバを立ち上げてアクセスする(この仕組みが安全かどうかは疑問が残ることろですが...。通常はローカルテストを行うためのWANなどに繋がっていない環境であればこのような仕様にして動かすことも可能です。)事で動くようになります。エクスポートすると
のようなファイル構成になっているので、
で実行すると
のようになります。これがHTML5のコンテンツをローカル環境で実行した場合の挙動になります。
Godotはクロスプラットフォームでの開発が出来るので、ゲームのプロジェクトを作れば、用意されているプラットフォームで実行可能な形のファイルを出力できるようになっています。
使用できる素材
ゲームを作る際には素材が必要になりますが、ゲームエンジンの仕事は 【 システムの制作 】 なので、ゲーム内で使用する素材は別のツールで作ることになります。
こうした作業の流は、Scratchで体験できるようになっていますが、Scratchでは、2.x系でもコスチュームの制作は行えるようになっていますが、3.x系だと
■ ベクターグラフィック
■ ラスターグラフィック
での素材の制作が可能になっており、音についても簡易編集ができるようになっています。その為、
■ 画像
■ 音
を追加するだけでなく、自分で作ることが出来るようになっています。その素材を配置して
■ ステージ
■ スプライト
でブロックを使って処理を実装するようになっていますが、この時西宇要するコスチュームや音なども外部ツールで作ったものを使用することができます。
WINDOWS 10の環境だと、ペイント3Dがバンドルされていたので、ストップモーションアニメのような状態でモーションを付けると3DCGで作ったものをうごかすことができるようになっていますが、11ではダウンロードを行うことになっていますから、少し仕様が変わっています。
WINDOWSの場合、最初から
■ 画像の制作
■ 写真の簡易編集
■ 動画の簡易編集
辺りは出来るので、音の部分を扱うツールがないだけで、画像と映像は最初から扱えるようになっているわけですが、PCの場合だと、必要なツールを追加して作業を行うことになります。
Godotでは、3Dと2Dのゲーム制作が可能なので、
■ 3DCG
■ 2DCG
を使用しますが、これを扱えるツールを用意しておくとゲーム内で表示する素材を自由に制作できるようになります。
音については、
■ 音楽
■ 効果音
■ 声
がありますが、この時の音楽と効果音は波形レベルの作成ではない条件だと、DAWだけで対応できます。また、DAWの譜面制作が少し不便だと感じたら譜面制作ソフトを用意することになります。
声については録音になりますが、この場合も音声合成を使用したソフトウェアを使うと言う選択肢もあるので、素材については様々な選択肢が存在しています。
その為、この形式で書き出せるツールを選択する必要がありますが、非対応の場合、ロスレスで書き出してogv形式でエクスポートすることになります。
素材については、
のようになっていますが、
■ ビットマップ(RGBAの8bitの色深度)
■ WAV形式(24bit/96KHzまで)
■ glTF
が使用できるようになっています。
3DCG
GodotはBlenderと親和性が高いので、Blenderで素材を作って、Godotで使用する事ができます。
以前、Godotにブレンダーの形式のファイルをインポート出来ることについて書きましたが、シーンとオブジェクトで分かれた状態でインポートされる仕様になっています。
Blenderは無料で使用できる多機能なツールになりますが、
■ 平面の画像(ラスター・ベクター)
■ 3DCGのオブジェクト
■ 3DCGのシーン
■ 動画編集
■ コンポジション
が行えるようになっています。
この時にからのセットアップを単体で出来るのですが、この時のモデリングも
■ カーブ
■ ポリゴン編集
■ Sculptモデリング
■ メタボール
などを使用できます。そして、バージョンが古いと結構大変ですが、近年のバージョンだと、
■ Sculpt → リトポロジー
の作業も古いバージョンほど大変ではなくなっています。この処理は、モディファイヤーを使ったリダクションとは異なるので、手作業で行うことになりますが、かなり扱いやすくなっています。また、ツールとしてもグリースペンシルの使い勝手が良くなっているので、
■ 手描きアニメーション
■ ベクターでのスケッチ
などが当たり前に行えるので、手書きのノートのような感覚で使用してアイデアを出して、そのアイデアのラフを描き、それを形にするための図面を作って、それを元に形にしていくのような作業をBlenderだけで行うこともできます。
流石に業務だとCADを使った方がいい場合もありますが、個人がアイデアを出して形にするまでの流を1つのソフトだけで行えるようになっています。
また、アニメで使用されている
■ マッチムーブ
■ 3D作画
のような処理もBlenderでは2.8辺りで行えるようになっており、手書きで絵を描く機能も2.79b辺りで行えるようになっているので、
■ ビジュアル
■ モデルの制作
という2つの異なる作業を1つのツールで行えるようになっています。
Blenderの場合、グリースペンシルがそうした作りになっているのですが、ツール絵お連携させることで特化した機能で作業を刷ることができます。
ちなみに、Blenderのビューポートとキーフレームを組み合わせると、3D空間上での実写映像の合成が出来るようになっていますが、実写とビューポート上のシーンを合成するようなこともおこなるようになっています。
この際にビューポート上にスピーカーオブジェクトを配置できるようになっていますが、
カメラを基準にした指向性を元に音を扱える
ので、この時の音の重なりをそのままミックスダウンを行ってオーディオファイルを書き出すことができます。
blenderでは、最大7.1chのオーディオまで対応していますから、空間内の音を元にしてステレオのミキシングだけでなく、YouTubeで使用できる5.1chサラウンドの音源も作ることができます。
サラウンドは7.1chまでは平面ですが、この平面の最大の仕様(規格として存在しているもので、対応製品が販売されているもの)についてもBlenderだけで作ることができます。
流石に音の素材は外部ツールで作る必要がありますが、音のミックスダウンを行うこともできます。
マテリアルを作る際に有償のSubstance Painterを使うと作業がしやすくなりますが、Blenderでは、
■ モデリング
■ UV展開
■ テクスチャ制作(BAKE含む)
■ リギング
■ ウェイト調整
■ IKの設定
■ 操作系のUIの作成
■ シェイプキーの作成
■ オブジェクトのペアレント
■ ダイナミクスの指定
■ ヘアの指定(オブジェクトに変換可能)
などもできるのでキャラクターのセットアップは単体のツールで行えるようになっていますが、効率的な作業を考えると外部ツールと連携するほうが作業がしやすく鳴る場合もあります。
極端な話、音とゲーム制作以外だとBlenderだけでまかなえてしまうレベルで多機能なツールに仕上がっているので、インストールしておけばビジュアルの作業だと問題がなくなりますが、3DCGだけでなく別の素材制作なども行うことができます。
2DCG
平面の画像については、Scratch 3.xでコスチュームを作る際に使用する時にも使用しますが、この時に用意されているのが、
■ ラスターグラフィック
■ ベクターグラフィック
になります。20世紀にはMacromedia FLASHというツールがあり、このツールがWEBで動的なコンテンツを作る際に使用できるベクターグラフィクツールになりますが、後にAdobeの製品になります。現在では使用されていませんが、WEBコンテンツでは、画像ファイルのようなラスターグラフィックとFLASHのようなベクターグラフィックが使用できるようになっています。現在は、
■ 画像ファイル
■ SVGファイル
をブラウザで使用できるので、写真などはラスターグラフィックで、UIやアイコンなどをベクターで作ることもできますが、現在のSVGはアニメーションSVG機能があるので、動的なSVGを配置することができます。
このようにラスターグラフィックとベクターグラフィックを作るツールを揃えると作業がしやすくなりますが、ラスターグラフィックだとGIMPが多機能で便利です。
GIMPは、XWINDOWシステムの時代から存在しているので、1997年辺りのターミナルでの処理が多いLinuxの時代から使用できるようになっていましたが、3DCGで使用する
■ ノーマルマップ
■ ハイトマップ
などの書き出しもできます。色彩の補正も可能で、各種処理ができますが、レイヤーを使っ他処理が可能なので、合成を行うこともできます。
様々な処理が出来るので、フィルター処理を使用するだけでもいろいろな素材を作ることができますが、ブラシで絵を描いたり、写真の加工を刷ることできます。
また、スクリプトで自動化が行えるなど様々な機能を持っています。
絵を描く場合だと、
などもありますが、FireAlpacaはマンガ制作の機能があるので、コマを割って絵を描いてページを仕上げる機能が標準実装されています。また、Linux版もあるので、タブレットのように手書きが行える環境がある場合、手書きでデジタルでのマンガ制作が出来るようになっています。
コマと言う機能は
■ 範囲選択
■ マスクの指定
と言う複数の処理を一つの処理で行える作りになっていますが、コマの形も変更できるので、ページ内のコマの流を作ることが出来ます。
絵を描くのとは異なりますが、3DCGを使う場合、IBLを使用したライティングを行う場合がありますが、360度パノラマの写真を札得してHDRI素材を作ります。この時にHDRの仕様であるファイルで保存することになりますが、このようなパノラマ写真は360度カメラよりも複数のカメラで同時に記録してステッチした方雨が綺麗になるので、高画質にする場合だと360度カメラとは異なる撮影を行うことになります。
360度カメラも魚眼レンズの映像をステッチしているわけですが、こうした複数の写真を繋いでパノラマにするソフトを用意しておくと、スカイライトなどで使用することも出来るので便利です。こうした処理を刷るツールにはHuginがありますが、Huginを使用すると複数の写真を繋いでパノラマ写真を作ることができます。
HDR素材も明るさの違う素材を合成して制作することができますが、この作業もLuminance HDRで行うことができます。
ベクターグラフィックで絵を描く場合だと、Inkscapeを使うと作業が行いやすいのですが、カリグラフィーが実装されており筆圧にも対応しているので、手書きでも描けるようになっています。
フォント
ゲームを作る場合、用途でツールの使用条件が変わってきますが、商用や背部目的などの場合、規約の条件が使途にあっているものを探して使用することになります。そうでない場合には、商用のパッケージ製品を使用することになります。
また、ゲームの場合、画像でフォントを自作してそれをタイルにして使用することもある(ポリゴンのない時代のゲーム機の処理はこれです。)のでこの場合には、類似したものを作らないように気をつける必要があります。
動画
動画変種はBlenderでも行えますが、OSSで登録不要なものだとShotcutを使うと多機能なので便利です。
登録が必要になりますが、Davinci Resolveをオーディオでの作曲が出来るDAWとコンポジットツールが含まれているので、殆どのことが行えます。
音素材
音素材は、録音素材を使うか、もしくは波形を加工して作ることになります。波形編集ソフトだとAudacityが多機能なので便利です。
作曲
作曲をする場合、譜面を作ることになりますが、デジタルの場合、
■ オーディオ
■ 譜面+音源
で楽器のパートを作ることができます。この時の譜面制作は譜面制作ソフトで作業を個なうことになりますが、クロスプラットフォームのソフトだとMuseScoreがあります。
このツールはMIDIとPCMで出力が出来るので、音を作って譜面通りに慣らしてオーディオファイルとしてエクスポートすることもできますが、MIDIでエクスポートを行うとDAWで読み込んで用意された音源やシンセ音源で音を作って再生することができるようになります。
OSSのDAWだとLMMSがありますが、このツールは
■ VSTi
■ VST Plugin
で拡張できるので、対応した形式の音源とエフェクトを追加してトラック内のMIDIの音を決めたりエフェクトを追加して音を作ることもできます。
また、オーディオファイルをトラックに適応してノートでピッチの変更も出来るので、Audacityで作成した音を音源にしてピアノロールで譜面を作ってその譜面通りに用意した音で演奏することができます。
実際に使用する際にはオーディオファイルにする必要がありますから、譜面の状態をミックスダウンしてPCMで書き出すことになります。
音を扱うツールではごく当たり前のようにミキサーが実装されているので、
■ パンポット
■ フェーダー
が各トラックに用意されているので、これを使うことで、個別のトラックの音の左右の位置と音圧を指定することができます。これが、音の平面座標になりますが、この平面座標だけだと空気感がないので、ラウドネスやリバーブを使うことによって音のウェット成分を追加することになります。
基本的に音源ソフトの音は余計なものが混ざっていないドライな状態になっていますから、ここにウェット成分を加えたり調整を入れることで音を作ることになります。この作業をトラック単位で行うことになりますが、DAWの場合、波形編集ソフトとは異なり
【 時間端の推移 】
をコントロールできます。この時にエフェクトのかかり方などを変更できるので、ピッチや音圧の変更が出来ます。
この処理が行えるので、音を揺らしたりパンポットで左右に降ることも出来るようになっていますが、こうした音の変化をMIDIのプログラムチェンジで行ったり、エフェクトのかかり具合で調整することが出来るようになっています。
こうした時間単位の変化はオートメーションといいますが、これを用いることで時間単位の変化を指定できます。
音源の中にはボーカル音源もありますが、こうした音源には 【 言葉 】 があるので、単一の音色で成立している楽器とは異なり、
■ ピッチ
■ 言葉
の組み合わせを作る必要上がります。音源の中で唯一ピッチ以外の表現を持っているわけですが、この2つの組み合わせでうまく発音できないこともあります。
基本的な作業は、
■ 歌詞を考えてテキストにする
■ 譜面を作る
■ 歌詞の流し込み
■ 調整
という流れになっていますが、プレビューをしながら作業をしてみると、違和感が出る場合があります。この時にボーカル音源のソフト側で処理できるものなのか否かで作業の仕方が変わってきます。
声の場合、Audacityでもピッチシフターがあるので、特定の範囲に収めると音階の変更ができますが、オクターブが変わると声が破綻します。このアタリの破綻をフォルマントで補正してあるので広い音階で声が安定するような仕組みになっていますが、発音が怪しいときにはフォルマント調整のできるピッチシフターを実装したDAWを使用するか、そういったプラグインなどをDAWに追加することになります。
これはテキスト読み上げツールも同様ですが、発音がおかしい場合は、ピッチシフター+フォルマントで調整すると治ることがあるので、結果的に単一のソフトではなく、複数のソフトを連動させることになります。