プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
C#とVB.NETの入門サイト
C#とVB.Netの入門サイト
シンプルなサンプルが多く、解説不要で気軽に流用できる。切り貼りして修正すれば作業効率アップに繋がるかも。



◎川の流れ

ちょっとした遊び心と、視覚効果の確認を兼ねて、川の水が流れるアニメーションをやってみました。テクスチャを3パターン用意して一定時間毎に切り替えただけです。古典的な手法ですが、簡単に実装できるのが魅力ですね。

…マップの左上から右下に向かってゆったり流れていくようで、割といい感じです。

できればお見せしたいのですが…さすがにこれだけで動画にするのは気が引けるし、静止画像ではわからないので、今回は見送ります。



◎統合の必要性

前回でサンプル地形モデルと川モデル、道モデルを合成し、見た目は良くなりました。しかし、地形モデルを3つも表示しているので、マシンへの負荷も高くなりました。

このままだと、地形を1種類増やす毎に地形種別モデルを1つ追加することになり、マシンに負荷がかかりすぎます。

そこで今回は、地形種別モデルを1つに統合し、マシン負荷を軽減する方策を検討します。



◎どのテクスチャを貼るべきか?

統合する場合、カラーマップの水色ピクセルに該当する場所に水のテクスチャ、黄色ピクセルに該当する場所に道のテクスチャを貼りたいわけですが、テクスチャは(頂点ではなく)面に貼り付けるものです。

面とはポリゴンの面であり、ポリゴンには3つの頂点が含まれます。頂点はカラーマップの1ピクセルに該当するので、3つの頂点の色が全て同一とは限りません。頂点の色が異なる場合、どのテクスチャを貼れば良いのでしょうか?

結論から言うと、頂点の色の組み合わせに相応するテクスチャを別途用意して対応します。



◎色の組み合わせパターン

頂点の色の組み合わせパターンは、以下の通りです。

白白白  水白白  黄白白
白白水  水白水  黄白水
白白黄  水白黄  黄白黄

白水白  水水白  黄水白
白水水  水水水  黄水水
白水黄  水水黄  黄水黄

白黄白  水黄白  黄黄白
白黄水  水黄水  黄黄水
白黄黄  水黄黄  黄黄黄

このうち、白頂点は盛り上げないので、白頂点を含むパターンは、全て無視できます。(他のパターンで代用可能)
また、水と黄が混在していないパターンは、従来の「水のテクスチャ」「道のテクスチャ」だけで表現できるので、無視できます。
よって、テクスチャが新たに必要となる頂点パターンは、以下の6種類です。

水水黄  黄水水  黄水黄
水黄水  水黄黄  黄黄水

テクスチャが新たに必要となる頂点パターン



◎切り貼り作業の手間

パターンテクスチャは、CGツールで切り貼りすると作成できます。

今回は大した数ではありませんが、今後地形種別が増えると、組み合わせが倍々に増えていきます。さらに、今後何度もテクスチャを差し替えることを想定すると、膨大な手間が懸念されます。
やはりこの作業は、自動化しておくべきでしょう。

「こういった作業を一発でやってくれるツールがあるんじゃないか?」と思って探そうとしたのですが…すぐに諦めました。
画像ツールやらフィルタやらスクリプトやらが無数にあって、どれをどう組み合わせれば目的を達成できるのか、見当も付かないからです。

1つ1つ機能を調査したり、ツールやスクリプトを修得したり試したりする手間を考えると、作った方が早そうです。



◎開発環境は?

パターンテクスチャ自動作成ツールを自作するとして、何で作るかなぁ…。

XNAは却下。画像加工ツール作成に一番向いてません。
VB6なら速攻で作れそうですが、将来性が無いのでメンテナンスが心配。せめてVB.Netなら良いのですが、これはあまり使ったことない…いっそのことExcelVBAとか?

…で、結局VC#にしました。XNAと同じ環境(XNAはVC#のテンプレート)だし、これを機に少しでも覚えておいて損はないかと。ちなみに、XNAもCも去年始めたばかりの初心者です。たはは…(^^;



◎ツールの作成

というわけで、こちらの記事や冒頭のサイトを参考に、パターンテクスチャ自動作成ツールを作成します。

パターンテクスチャ自動作成ツール

…完成しました。VB並みに簡単ですね~。

XNAでGetPixelとかシリアライズとか苦戦して「C言語は何をするにも面倒臭い」という印象があったので、こんなにあっさりできるとは思いませんでした(笑)



◎次回予告

パターンテクスチャの準備が完了したので、次回は自作地形を統合する予定です。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。