XNA Game Studio 4.0 Refreshに更新しよう

XNA Game Studio 4.0 Refreshに更新しよう 去年の10月にXNA Game Studio 4.0 Refreshが公開されました。これは、Windows Phone SDK 7.1の中に含まれる形でリリースされ、内容もWindows Phone 7.1の新機能追加が主だったので私もツイッターの方でつぶやく程度で済ませてました。 ですが、Windows Phone向けの新機能以外にもVisual Basic対応やバグフィクスが含まれているので、WindowsやXbox 360で開発している人でも更新する価値は十分にあると思うのでここでも紹介します。 まず、新機能としてVisual Basicに正式に対応したこと、これはWindows Phoneはもちろん、Xbox 360やWindowsでもXNA Game StudioをVisual Basicを使って開発できるようになりました。 そして、バグフィクスの中で比較的重要だと思われるのが「固定更新時、速いPCやフレーム内の処理量が少ない時に更新時間計算の誤差が大きくなり、見かけのフレームレートが下がってしまう」という問題が修正されていることです。 また、Refreshという名前の通り、既存APIからの変更は無くバイナリ互換となっているので3.1から4.0へ更新の時とは違って既存のプロジェクトやコードはそのままコンパイル、実行することができるので現在4.0で開発中の人でも安心して更新することができます。   XNA Game Studio 4.0 Refreshへ更新する 幾つかのケースがあると思うので、それぞれのケースでXNA Game Studio 4.0 Refreshをインストールする方法を紹介します。   Windows Phone SDK 7.1をインストールしている なにもする必要はありません。前述のようにXNA Game Studio 4.0 RefreshはWindows Phone SDK 7.1に含まれています。 Windows Phone Developer…

0

Xbox LIVE インディーズゲームの上限数変更

あけましておめでとうございます!おかげさまで昨年はXbox Liveインディーズゲームの作品登録数が全世界で2,200本を超えました。 2012年も沢山の面白いゲームを登録していただけるように、皆様から要望の多かったゲームサイズや登録数の制限数を上げることとなりました。 CCGAMEファイルが最大500MBに ゲームのサイズ上限はCCGAMEファイル(圧縮ファイル)のサイズによって決まりますが、この上限が以下のようになりました。 値段 旧 新 240, 400MSP 150MB 500MB 80MPS 50MB 150MB 登録できるタイトル数は20タイトルに また、登録できるゲームの数が以前は10タイトルまででしたが、この上限が20タイトルまでとなりました。 今年も沢山の面白いゲームを是非Xbox LIVE インディーズゲームへと是非登録してください!   公式発表(英文) http://blogs.msdn.com/b/xna/archive/2012/01/04/happy-new-year-xbox-live-indie-games.aspx

0

続・簡単(かもしれない)日本語表示

以前、カスタム・コンテント・プロセッサーを使って日本語表示する方法を紹介しました。 XBLIGやWindows Phone 7に配信することを考えてゲームを作る場合、カスタム・コンテント・プロセッサーを作ることが殆どなので、この方法でも問題無いのですが、初めてXNAをさわり始めた人や、ちょっとしたサンプルを作るときに 「ようこそ、XNAの世界へ♪」 と、いった一文を表示するだけのプログラムなのに、カスタム・コンテント・プロセッサーを使うのは初心者には難易度が高いし、プロジェクトが複雑になってしまいます。 そこで今回はカスタム・コンテント・プロセッサーを使わずに日本語表示をする方法を紹介します。 CharacterRegionsを手動で変更する XNAで文字を表示する場合、プロジェクトにSpritefontファイルを追加しますが、このSpritefontファイルには使用するフォントの種類やサイズ、そしてテクスチャへ変換する文字を指定できるようになっています。この文字の指定はファイルの最後の方にあるCharacterRegionsエレメントで行います。Spritefontを追加した場合、あらかじめ英数字のコードが指定されています。 <CharacterRegions> <CharacterRegion> <Start>&#32;</Start> <End>&#126;</End> </CharacterRegion> </CharacterRegions> この中のStartとEndエレメントに使用する文字の開始と終了文字コードをユニコードで指定されています。 CharacterRegions内にはCharacterRegionエレメントを複数宣言できるので、ひらがなを表示したい場合、ひらがなのユニコードはこうなっているので、以下の様なCharacterRegionを追加します。「&#x番号;」と言うのはXMLファイル内で16進数を指定する方法です。 <!– ひらがな –> <CharacterRegion> <Start>&#x3041;</Start> <End>&#x3096;</End> </CharacterRegion> カタカナや全角英数字なども同様にして追加することができます。以下はそれぞれのユニコード表PDFへのリンクです。 ひらがな: http://www.unicode.org/charts/PDF/U3040.pdf カタカナ: http://www.unicode.org/charts/PDF/U30A0.pdf 全角英数: http://unicode.org/charts/PDF/UFF00.pdf 全角記号(全角スペースや句読点など): http://www.unicode.org/charts/PDF/U3000.pdf この方法でひらがなやカタカナといった、あらかじめ文字コード領域がハッキリしているものを追加することができます。 では、漢字の場合はどうでしょう?ユニコードではCJK、つまり中国語、日本語、そして韓国語の文字が混合して定義されているので、ひらがなと同じように指定することはできないし、コード表から一文字毎にコードを探し出すのは現実的ではありません。 実はSpritefontファイルには直接文字を指定することができます。例えば「日本語」という文字を表示したい場合、以下のようにして表示したい文字を追加することができます。 <CharacterRegions> <CharacterRegion><Start>日</Start><End>日</End></CharacterRegion> <CharacterRegion><Start>本</Start><End>本</End></CharacterRegion> <CharacterRegion><Start>語</Start><End>語</End></CharacterRegion> </CharacterRegions> この方法を使うことによって、カスタム・プロセッサーを書かずに日本語を表示することができます。   やっぱり面倒 確かに、上記の方法でも文字数が少なければ手動で良いのですが、やはり一文字づつコードを指定するのは面倒です。 そこで、今回は入力した文字列から使用している文字を抜き出してCharacterRegions宣言部分を生成するツール、ChracterRegionジェネレーターを作ってみました。 実行ファイル: http://higeneko.net/hinikeni/tool/CharacterRegionGenerator-bin.zip ソースファイル: http://higeneko.net/hinikeni/tool/CharacterRegionGenerator-src.zip このツールはWPF 4.0を使って作られています。XNA Game Studio 4.0をインストール時に.Net…

1

Dream Build Play 2011開催

今年もDream Build Play 2011が開催されます。 http://www.dreambuildplay.com/ 賞金総額75,000ドル、優勝者には賞金の他にXbox LIVEアーケードタイトルとして発売する権利も与えられます。 大会への登録期限は5月17日までで、すでに受付は開始されています。そして、作品の受け付けは5月17日~6月14日までとなっています。この日付はいずれも米国中部標準時(GMT-06:00)なので日本時間(GMT+08:00)との時差があることに注意してください。その後、応募された作品の中からトップ20までの作品が8月までに発表され、8月末に受賞者が発表される予定です。 毎年、世界中からの参加者があり、去年の受賞者には日本人の作品が2位になったので、今年も日本から受賞者がでることを期待しています。 登録する作品はXNA Game Studio 4.0で作られたXbox 360用のゲームである必要があります。 作品登録は6月14日までとなっていますが、その前の5月17日までの参加登録をするのを忘れないようにしてください。 まずは、このページの「Register Now」を押して登録しましょう。

0

XNA 3.1から4.0への更新

英文ですが、XNA 3.0からXNA 4.0への更新についてのまとまった情報があるので紹介します。 http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatsheet/

0

Game Building日詩 その8「最終日、発表会5分前に……」

9月24日(金曜日) 09:30AM 発表当日開始 久々に徹夜したので眠気覚ましにシャワー浴びて出社。早速、同僚を三人呼んで一人ではできなかった4人同時プレイのテストプレイをしました。プレイ終了後、同僚からは「どの照準が自分のか判らない」「スコアが変化しないね」「パンツァードラグーンの用にボタン連打で通常弾で、溜めるとホーミングレーザーの方が良いかも」といった意見を聞く事ができました。 9月24日(金曜日) 11:30AM スコアリングシステムの追加 早速、プレイヤー毎に照準の色を変える処理を追加し、敵を倒したときの点数加算処理を追加、ついでに敵編隊を全部撃破を連続でした時にコンボ数が増えていく簡単なボーナススコアシステムを追加しました。 9月24日(金曜日) 03:55PM 発表5分前、トリガーシステムの追加 スコアリングシステムを追加した段階で「こんなもんで良いかなぁ?」と気が抜けたのと、徹夜の反動で非常に眠くなりました。新しいことを考える余裕が無くなり、テストプレイをしては細かい修正をするというのを繰り返していたら、いつの間にか午後2時すぎ。発表まで後2時間を切ったので、この段階で思い切った機能追加はとても危険です。 と、普通の状態だったら、これ以上の変更は加えなかったのでしょうけど、ふと「爆発欲しいな~」と思い立ち、しかもインポーターに変更を加える必要があるトリガーシステム(ゲーム内で任意のイベントを発生させる時等につかう仕組みのこと)を追加し始めました。 追加したトリガーシステムの仕組み自体は単純で、Lightwave内でNullオブジェクト(モデルデータの無いノードのこと)を追加し、その名前を「trigger-」で始まるようにし、アニメーションデータにX軸のスケール値が0から1に変わったフレームをトリガー発生の時間とし、その時間が来るとアニメーションプレイヤーのイベントオブジェクトを「このノードでイベントが発生」と呼び出すようになっています。 普段だったら、識別子とパラメーターの混同した命名規約や、アニメーションを特定の状態にするといった判りづらい仕組みは後で混乱の元になるので追加しません。変わりにゲーム専用のレベルエディタ上でちゃんとしたトリガーとした仕組みを提供するべきと判断したことでしょう。 ですが、徹夜明けのボーっとした頭ではそこまで考えが及ばずに、これまたボーっとしながら黙々とコーディングし、Lightwave上で必要なデータを生成、ゲームプレイを繰り返しながら爆発の大きさなどを調整し終わったのは実に発表の5分前でした……。 結果的に爆発エフェクトを追加することができたのは良かったのですが、今思い起こすとかなりきわどかったことをしたなぁと思います。 9月24日(金曜日) 04:00PM Game Building 2010 発表会 そして遂にGame Building 2010の発表の時となりました。前回はYouTube版の動画を貼ったので、今回はニコニコ動画の方を貼っておきます。 【ニコニコ動画】XNA 4.0で作ってみた まとめ と、言うわけで8回に渡ってXNAチーム内で行われたGame Building 2010向けに作ったゲーム製作の過程を紹介してきました。Game Buildingの目的としてはゲームを楽しく作ろうという他に、このようにして自分達で作ったフレームワークを使って実際にゲームを作ることでフレームワーク設計時には見えなかった問題や改善点を洗い出し、より良いフレームワークを作ろうという目的があります。 私は今まではフレームワークの新機能のテストを兼ねたゲームを作ってきましたが、今回はゲーム製作におけるコンテント製作の難しさの実態を把握するためにコンテント部分の製作に多くの時間を割くようにしました。改めて実感したのはコンテント製作自体、特にモデリングは楽しい作業だったのですが、作ったコンテントを実際にゲームの中で使えるようにするにはまだまだ時間と労力をかけないといけないということでした。 今回学んだことを将来のXNA フレームワーク開発に役立ていきたいと思います。 今までの投稿へのリンク Game Building日詩 その1「はじめに」 Game Building日詩 その2「3Dモデリングツール選び」 Game Building日詩 その3「1日目、モデリング日和」 Game Building日詩 その4「2日目、モデリング終了?」 Game Building日詩 その5「3日目、プログラム開始」 Game Building日詩 その6「4日目、ゲームシーン製作中」…

3

Game Building日誌 その7「5日目、ゲームらしくする」

9月23日(木) 12:00PM 疲れ気味 日曜からずっと寝不足なので疲れ気味ですが、Game Buildingも残すところ今日一日、厳密に言えば明日の午後四時までに完成させれば良いのですが、直前でバグが入ってしまって発表中に止まってしまうのは避けたいので、やはり今日中に仕上げるよう頑張ります。 9月23日(木) 02:03PM キューブマップの背景追加 さて、今まで背景にはなにも無かったので、この段階でキューブマップテクスチャを使った背景を追加します。キューブマップテクスチャの作り方の一つとしてはカスタムモデルエフェクトサンプル(4.0版は英語版のみ)についているCubemapProcessor.csを使うことで一枚の背景テクスチャからキューブマップテクスチャをコンテントパイプライン内でコンパイル時に生成することができます。 この方法は反射マッピングなどの見た目の整合性が多少とれていなくても気づかないような用途では問題ないのですが、背景テクスチャとして使う場合には、上下のテクスチャ部分が歪んでいるのが判りやすくなってしまうという問題があります。 そこで、今回はLightwaveを使ってキューブマップテクスチャを作るのに必要な6枚のテクスチャを生成します。やり方は簡単でアスペクト比が1:1になるカメラを作り、6フレームのアニメーションを作ってイメージファイルへ書き出します。   今回の舞台は宇宙なので、星雲とかをパーティクル使って出来たら良いとは思いましたが、時間が無いのでLightwaveのバックドロップ機能を使います。この機能を使うと背景にフラクタルなどを使ったテクスチャを張ることができるので、複数のテクスチャを設定すると簡単に宇宙っぽい背景をつくることができます。 こうして出来た6枚のテクスチャからDirectX SDKに付属するテクスチャツールなどを使ってDDSファイルを生成します。 9月23日(木) 08:52PM 惑星上、キャノンシード突入直前まで完成 さて、キューブマップの背景を追加し終えたのが午後3時頃。この時点で手来ているのはいままで作ってきたシーンを再生するだけでゲームプレイ的なものは全くありませんでした。残り時間が25時間となったので、本来であればゲームプレイ部分を作るべきですが、せっかく半日かけてモデリングしたキャノンシードは見せたいという欲求が勝って最悪ゲームプレイができなくても良いというリスクを承知で最後のシーンを追加することにしました。 最後のシーンは惑星上なので、地上部分のモデリングをしました。カメラから見える部分だけをモデリングしていきます。   岩山は分割数を多くした立方体にfractalizeという機能を使えば、一つ一つの頂点を修正するより手軽にそれっぽいモデルを作ることができます。ただし、やり過ぎると表裏が反対になってしまうこともあるので注意が必要でした。左下の図をみるとポリゴンが重なり合っているのが判ると思います。修正したいところですが、この岩山がゲーム内で表示されるのは一瞬なので気づく人は居ないだろうということで、こままにしておくことで時間節約。 そして、メインディッシュであるキャノンシードと、その前の地上砲台を設置し、カメラパスを作って完成。   9月24日(金) 04:25AM 敵の飛行パス完成 帰宅して夕食をとって午後10時、ここでようやっとゲームプレイ部分を作り始めることになります。敵の移動パターンもLightwave上で作っていきます。敵の飛行経路はワールド座標ではなく、ビュー空間で指定します。つまり、カメラをどんなに激しく動かしても、その動きが敵の飛行経路に影響を与えることはありません。と、書くと変に思えますが、実際に出来たものを見てみると特に大きな問題はないことが判ります。 ビュー空間で飛行経路を作るのにはいくつかの理由があります。第一にツール上で再生したときに実際にゲーム上で動かしているときと同じように見えるのでデザインや調整がしやすいのが一つ。次にカメラの移動に左右されないので使い回しが効くと言った利点があります。もちろん、カメラの移動経路とあまりにもかけ離れたものを作ると見た目が破綻してしまう事に注意する必要があります。また、建物の間を縫って飛ぶような経路を作りたい場合にはビュー空間ではなくワールド空間で作った方が良い場合もあります。 大事なのは短い時間で敵の飛行経路を繰り返し調整が簡単にできることがゲームのクオリティアップへつながるということです。 と、言うわけで幾つかの飛行パターンを作った後はゲーム上で再生するコードを書きます。これもシーンを再生させるコードの再利用で、再生中に撃破されるように変更を加えるだけで済みます。 9月24日(金) 07:42AM ゲームプレイ基礎部分が完成 さて、敵の動きができたので、次は実際に撃ってみたくなります。オリジナルのゲームではゲーム画面上にある照準を移動させてボタンを押すとレーザーがでるというものでした。ですから、堅い敵が出てきたりしたときにはボタンを連打する必要がありました。今時ボタン連打もアレだし、ネットワークプレイに対応したときに大変そうだということで、ホーミングレーザー形式を試してみることにしました。 ホーミングレーザーは今まで何度か作ったことがあるし、XNA上でもWindows Phone 7のマルチタッチのテストする時にタッチした場所に沿って線を描くプログラムがあったので、そのコードを流用して3D用に修正を加えて使いました。 レーザーを撃って、敵が消えるまでできたので、次は爆発エフェクトです。ここまで来たら爆発エフェクトも作りましょう(徹夜でハイになってる)ということで、Lightwaveのパーティクル機能を使って爆発するシーンを作ります。ここでは100個のパーティクルをHyperVoxelsと呼ばれるボリュメトリックレンダリング機能を使ってそれっぽいものを作っていきます。 で、複数のフレームをレンダリングしたものを下図のようにまとめたスプライトシート(4.0用プロジェクトは英語版のみ)を作りました。 そして、パーティクルサンプル(4.0用プロジェクトは英語版のみ)を流用したものを使ってゲームの中に組み込みます。 これで、移動する敵、レーザー発射、撃墜、爆発エフェクトとゲームプレイの基本部分ができました。下のスクリーンショットを見てもだいぶゲームらしくなったのが判ると思います。   この段階で周りはすっかり明るくなってしまいました。 Game Buildingの発表会まであと8時間18分…… つづく

0

PDC10で行われたXNAセッション紹介

昨日、一昨日と二日間に渡ってMicrosoftキャンバス内で開催されたPDC10の中で行われた多数のセッションはストリーミング配信され、記録された動画も公開されています。そのセッションの中には二つのXNA関連のセッションがありました。 「Things You Need to Know Before Building XNA Games for Windows Phone 7(Windows Phone 7でXNAゲームを作る前に知っておきたいこと)」 http://player.microsoftpdc.com/Session/b8100382-1fdf-482e-b4ec-2b1f0315987f 「Real-World Analysis and Optimization of XNA Framework Games on Windows Phone 7(Windows Phone 7のXNAゲームにおける分析と最適化の実践)」 http://player.microsoftpdc.com/Session/6a4f4c01-5984-4b33-9e27-e725791980b1 オリジナル音声は英語ですが、日本語同時通訳のオーディトラックを選択できるようになっています。プレイヤーの右下にあるAudioボタンを押すとリストが以下のように表示されるのでJapaneseを選択することで日本語音声で視聴することができます。 「Things You Need to Know Before Building XNA Games for Windows Phone 7(Windows Phone 7でXNAゲームを作る前に知っておきたいこと)」のセッションの中ではShawn Heargreavesがゲーム制作の過程をIdea(発想)、Implement(実装)、Optimize(最適化)、Polish(仕上げ)、そしてSell(セールス)の5つに分け、そのうちのOptimize、Polish、そしてSellについて話しています。 Optimize(最適化)の中ではゲームの中で大半を占めるコンテントの最適化をすることで、ゲームが始まるまでの時間短縮、コンテント自体の読み込みの高速化などに触れています。Polish(仕上げ)の中ではWindows Phone 7向けのゲームを快適にプレイする為の手法を紹介しています。 このセッションの中ではApp Hubサイトにあるサンプルコードであるゲーム状態の管理(Windows Phone向けのサンプルは英語版のみ)と、複数の画像ファイルを一つにまとめることで読み込みや描画の高速化(テクスチャの切り替えが少なくなるため)に役立つスプライトシート(4.0用プロジェクトは英語版のみ)を紹介しています。…

0

XNA Game Studio 4.0 Language Pack(日本語)がリリースされました

日本語のXNA Game Studio 4.0Language Packがリリースされました。これでVisual Studioのメニューやプロジェクトテンプレートが日本語化されるのはもとより、日本語のヘルプドキュメントも付いているので英語を読むのが苦手という人でも安心してXNA 4.0を使えるようになりました。 注意点としてはLanguage Packとしての提供になるので一旦英語版をインストールした後にLanguage Packをインストールする必要があります。英語版のインストール方法については以前の記事が参考になると思います。また、英語版を既にインストールしている場合はLanguage Packをインストールするだけで日本語化されます。 Windows Phone Developer Toolsのダウンロード (Windows Phone開発キットに含まれている) XNA Game Studio 4.0スタンドアロン版をダウンロードする (Xbox 360/Windowsのみ開発できる) XNA Game Studio 4.0 Language Pack (日本語) のダウンロード 詳細は以下のニュースリリースを見てください。 http://create.msdn.com/ja-JP/home/news/xnags40jpnlangprel

0

Game Building日誌 その6「4日目、ゲームシーン製作中」

9月22日(水) 10:30AM またまた仕事発生、5時間のロス そんな訳で、またまたやらなければいけない仕事が発生、午前中はGame Building作業はお休みとなってしまいました。 9月22日(水) 03:20PM 作業再開、60FPSの弊害 仕事を終わらせたので、Game Building作業再開。まずはロウンチシーンから作ります。といっても、ここは友人が作ってくれたシーンを再生するだけなので簡単に済むはずです。 と、思ってたりすると必ず発生するのが問題。このシーンを再生してみると、シーンのところどころでモデルがカクッとなったり、一瞬消えたりすることがありました。LightWave上で再生させると問題ないのですがゲーム内で再生するとこの問題が発生します。 実はこのシーン、戦闘機モデルはひとつではなく、複数あり、そのモデルを切り替えながらアニメーション再生をしています。そして今回の問題の原因はその切り替え方法にありました。例えばモデルAからモデルBに10フレーム目で切り替えたいときにはモデルAのスケールを0~9フレーム目まで1に設定し、10フレーム以降は0に設定します。そしてモデルBの方は逆に0~9フレームまで0、それ以降を1という風に設定するといった感じです。 この1フレームの間にスケール値を極端に変更するというのが原因でした。下図はスケール値が0から1に変更している部分を拡大したものです。この二つのキーフレームの間隔は1フレームなので30FPSで再生しているときには問題がありませんが、60FPSで再生すると間のフレームを補間してスケール値が0.5になってしまうので表示がおかしくなってしまいます。 ですから、キーフレームの補間方法をステップに変更することで修正することができます。また、問題を人の目で見てから修正するのでは無駄な時間が掛かってしまうので、プロセッサ内で1フレームで値が変わっていて、補間方法がステップになっていない場合は警告メッセージを表示するといったことをした方が良いでしょう。 と、言うのが正しい方法なのですが、今回は他の人が作ったシーンを把握して問題のキーフレームを探し出して修正という作業をしないといけないので面倒もとい時間が掛かりそうだなぁと考えたので別の方法を考えることにしました。今回の問題は 「見せたいシーンの中に見せたくない問題が発生」 だったので、見せたくないというのを基点に逆の発想にして 「見せたくない問題が発生するんだったら、問題が発生している場所を見せなければ良い」 と、考えました。幸い、友人からもらったシーンでは母艦内部しか出てこないので、せっかくのカッコいい母艦も表示させたいなぁと思っていました。そこで、母艦内部のシーンと母艦を外から見たシーンのカメラを問題が起きるタイミングで切り替えるようにすることにしました。こうしておけば、見せたい母艦も見せることができ、見せたくない問題部分を隠すこともできる、そして時間の節約にもなると、一石三鳥です。 そんな訳で、母艦外部のカメラパスを設定し、 カメラパスの切り替えタイミングはカーブエディターを使って作りました。 カーブエディターが出力するXMLファイルはそのままプロジェクトに追加でき、読み込みもCurveオブジェクトとして読み込むことができるので、今回のGame Buildingでこのカメラの切り替えの他にも簡易パーティクルシステムで使いました。 9月22日(水) 08:07PM ワープシーンエフェクト完成 ワープシーンのエフェクトはLightWaveで上図のモデルを作ってテクスチャを貼り、UV座標をスクロールさせるシェーダを適用して作ることにしました。これぐらいのモデルだったらプログラムでもできますが、すぐにモデルを作ることができるのと、実際のゲームに近い環境で見た目の修正をリアルタイムできるツール上の方が微調整が効くのでモデリングする方法を選びました。 最初に試したものは下図のようなもので、ちょっと大人しい感じのワープシーンでした。 どうせワープしてるシーンでは他のモデルも出てこないんだから、半透明処理のモデルをもっと重ねてみようということで、元のモデルをコピーして半透明四枚重ねにした結果は下図のようになりました。 ここでも最初に作ったマテリアルバッチの効果がありました。別々のUV座標スクロールさせたいモデルにLightWave上で別々のマテリアルを割り当てておくことでプログラムの方で簡単に処理することができました。 9月22日(水) 10:00PM ワープシーン完成 このワープシーンには隕石がでてくるので、そのモデリングをしました。テクスチャはハイキングに行ったときに撮っておいた岩の写真を以前紹介した方法で加工して使いました。 ワープシーンエフェクトで既に前に進んでいる状態を表現しているので、ここではカメラは固定位置で隕石がカメラの前を通るパスを作るだけで終わりです。 9月23日(木) 12:00AM アステロイドベルトシーン完成 このシーンでは沢山の隕石が出てきますが、一つ一つの隕石が別々に動く必要はないのでモデラー上で隕石一つをコピーして二つにし一方を適当に回転、 出来た二つの隕石をコピーし…というのを6回繰り返して64個の隕石群をひとつのモデルとしてシーンエディターで以下のように配置し、ゆっくりとした移動と回転をさせるとそれっぽいシーンができあがります。 後はDeath Ball(宇宙機雷)を適当に配置し、カメラパスを作って完成です。 9月23日(木) 03:00AM 戦艦シーン完成 このシーンは戦艦が二隻出てきて、その至近距離をすれ違うように飛行するという経路なんで簡単そうなシーンだと思っていました。ですが、オリジナルの動画を見ながら作ってみると二番目の戦艦に接近したときの背景に見える星と戦艦の位置関係を正しくすると、一隻目の戦艦に近づくときに二隻目の戦艦が視界に入ってしまうという問題がありました。 そこで、一隻目の戦艦に近づくにつれ二隻目の戦艦が所定位置に見えないところで定位置にスタンバってくれるようにアニメーションさせるようにしました。 9月23日(木) 04:00AM 空母シーン完成? さて、空母シーンを作るわけですが、既に午前4時を過ぎているので眠い目をこすりながら作ってみるもののカメラパスがかなり怪しい挙動になってしまいました。修正したいところですが、こう頭が回らなくては修正作業もままならないので今日は寝ることにしました。   そんな訳で、今日一日は各シーンの生成に費やしたのでコーディングはお休みの一日でした。 Game Building発表まであと2日………

0