饂飩コーディング

iOSアプリやら、Unityやら、Cocos2dやらごにょごにょ書いております

回る地球を作ってみよう!

f:id:appdeappuappu:20140602091856p:plain
↓実行結果
http://nrtkb.sakura.ne.jp/forblog/unityFolder/farEarth.html


おおまかて手順
1、Sceneに照明とSphereを二つ追加する
2、Sphereの中心を合わせて、大きさに若干違いを付ける←雲の層を表現
3、二つのSphereに回転アニメーションをそれぞれ付ける←雲の層は回転を遅くする
4、それぞれのSphereにTextureを貼付ける
5、カメラの調整を行う。


Unityでの手順は上記のように簡単ですが、地球を作成する場合はTextureの作成がポイントになってきます。それではTextureの作成方法は以下の手順で

1、ネット上から使えそうな地球の画像をひろってくる。(商用フリーとか)
http://earthobservatory.nasa.gov/Features/BlueMarble/BlueMarble_2002.php
↑今回はコチラから画像をつかわせていただきました。
2、Land Surface, Ocean Color, and Sea Ice と Clouds の二枚を使って作業を進めます
それぞれLandTexture.png、CloudTexture.pngと名前を変更します
3、それぞれの画像を512x512の大きさに縮小する。縦と横の比率が変に見えてもかまいません
 ↓こんな感じ
f:id:appdeappuappu:20140602093927p:plainf:id:appdeappuappu:20140602093945p:plain
4、CloudTexture.pngを雲以外の部分が段階的に透明になるように処理します。
  4−1、Photoshop Elementsで開く
  4−2、背景レイヤーを複製してレイヤーを追加する
  4−3、追加したレイヤーにフィルター→色調補正→階調の反転を選択する
  4−4、レイヤーマスクを選択するf:id:appdeappuappu:20140602100020p:plain
  4−5、レイヤーマスクの白い表示されている部分をOptionキーを押しながらクリックする
      f:id:appdeappuappu:20140602100800p:plain
  4−6、背景レイヤーの目のマークをクリックして不可視にする。
  4−7、レイヤーマスクが適用されたレイヤーにもう一度階調の反転をかける。
  4−8、PNG形式で保存するf:id:appdeappuappu:20140602100440p:plain


これで、LandTexture.pngとCloudTexture.pngができました。

これ以降はUnityで作業します
5、LandTexture,CloudTextureをAssetとして取り込み、Materialを二つ作成する
   LandTexture→Diffuseを選択
   CloudTexture→Transparent/Diffuseを選択
6、Sphereを二つ作成してそれぞれLandSphere,CloudSphereと名前を付けてそれぞれに5で作成したMaterialを設定する
   LandSphereは地上の部分をCloudSphereは雲の部分を表現しており透明化されていますf:id:appdeappuappu:20140602102447p:plain
7、LandSphere、CloudSphereのPositionを0、0、0として重ねます
8、LandSphereのScaleは1、1、1 CloudSphereのScaleは1.05,1.05,1.05と少し大きくします。これで地球らしくなりました
f:id:appdeappuappu:20140602102902p:plain
9、LandSphereを選択してAnimationタブを開き、AddCurveをクリックすると保存windowがでてくるので名前をLandAnimationとします。するとAssetにanimationとanimator二つのアイコンが追加されます。
10,Rotationを追加して、Y軸の変化を1秒後のキーフレームをクリックして360と入力。f:id:appdeappuappu:20140602103722p:plain
11、この状態でテスト再生してみると、回転が早いので最終フレームを6秒の辺りまでドラッグして移動させましょう。
12、CloudSphereも9〜10の作業を行い、最終フレームを8秒に移動させましょう

以上で完成です


カメラの位置を変更すれば色々なシーンで使えるかと思われます。