:XNA GroundImporter

*これはなに
　XNA環境で、３Ｄモデルから「高さ（Ｙ座標）」を算出できるようにするインポーターです。
　
*どう使うの？
　１・プログラム部分の参照設定、及びコンテントプロジェクトの参照設定の両方に、GroundImporter.dll、又は
　	　GroundImporter.csprojへのプロジェクト参照を追加してください。
　１．５・Xbox対象のプロジェクトで使用する場合は、さらに【対象のプロジェクト】のどこかに「HeightMapReader.cs」を追加してください。
　
　２・高さ検出を行いたいモデルコンテント（Xファイル、及びFBXファイル）のプロパティの「Content Processor（コンテント・プロセッサ）」に、
　　　「GroundImporter」を選択してください。選択できない場合、一度ソリューションをビルドしてみてください。
　　　
　３・高さ情報構造体は、modelのtagに格納されています。モデルコンテントを読み込んだ後に、下記例のようにtag情報を読み込んでください。
　	　（例・モデルコンテント=gldModel,  modelName = モデルコンテントのアセット名が書かれたString型)
　	　	/////
　	　		//Game直下などの[メソッドの外]に、HeightMapSetter型を追加
			HeightMapSetter hMap;
			
			//LoadContent等のコンテント読み込み部分
			gldModel = Content.Load<Model>(modelName);
			hMap = (HeightMapSetter)gldModel.Tag;
　	　	////
　　　
　４・高さを検出したいポイントを tgtPos 、「３」で読み込んだ高さ情報を hMap とし、
　　　下記メソッドを実行すると、高さ（Y座標）の値が返ってきます。
　　　
　　　float nowHeight = hMap.GetLandHeight(ref tgtPos);
　　　
　　　
　/////
　GroundImporterのコンテント･プロセッサのパラメータ解説
　DivideCount：	高さ検出の「詳細さ」です。後述の出力する画像の大きさにもなります。
　				数を増やせばその分精度は上がりますが、露骨にコンテンツのビルド時間が増え、コンテンツの容量も増えます。
　				2048などにすると、6万ポリゴンのマップ３つで、大体仮眠するにちょうどいい時間になりました。
　				テスト時は256や512、本番リリース時に1024や2048にするのが吉です。
　			　　
　UnHit Fill LowestPoint：	検出計算時、検出ができなかった場合（「穴が」があったり、ポリゴンが欠けていた場合）、どうするかのフラグ。
　							trueの場合、周囲の検出点から平均値を求め、その値で保管を行う。
　							falseの場合、 float.MinValueを使用し、検出できなかった旨が取得可能になる。
　							

　Put HeightProcessed Image：計算後の高さ情報を、画像として出力するかどうかのフラグ。trueならビルドをした際、アセット名+ _h.png のファイルが、
　							「コンテントプロジェクトフォルダの直下に」作成されます。ビルド後のxnbファイル出力フォルダではないので注意してください。
　							出力後の画像は白黒のpngファイルです。高さが検出できているかどうかの確認や、2Dのmap画像にも使えるかも？
　			


　/////////////////////////////

　サンプルプログラムの使い方

　サンプルプログラムでは、高さの取得および、検出点の保存と出力ができるようになっています。
　　※実行にはXboxコントローラー（USB)が必要です。


　　操作方法

　　　　左スティック	：視点の移動。視点と注視点は同時に動き、常に真下を見るようになっています。
　　　　右スティック	：視点の高さの移動。　上限値なく動くので注意。

　　　　右トリガー	：トリガーを引いているときは、上下左右の動きが最大2倍速になります。
　　
　　　　X,Y,A､Bキー	：「点」を打つ。各ボタンの色に対応した点を打ちます。
			　　打った点は、プログラム終了まで残ります。
　　　　Backボタン	：「点」をひとつ削除します。

　　　　Startボタン	：X,Y,A,Bボタンで打った点を、ファイルに出力します。
			　ファイルパスは、現在はCドライブ直下に「puttexdPoint.txt」という名前で保存されます。
			　