月別アーカイブ: 2014年3月

超超高解像度のパノラマ写真を入手する方法

Googleの画像検索で「panorama download」と検索し検索ツールタブを開き以下の画像の通りにする

無題

気に入った画像

オンラインで「convert panorama to skybox」してくれるサイト

http://gonchar.me/blog/goncharposts/2150

http://gonchar.me/panorama/

NormalMapを適応したオブジェクトの作成

NormalMapの作成の仕方

Projet View内のテクスチャをクリックしてInspecter ViewのImport Settingを表示。その中のTexture Typeのプルダウン一覧からNormal Mapを選択してApplyで適応する。

オブジェクトに適応の仕方

適当なオブジェクトをSceneに配置。これに適当なテクスチャをアタッチしてマテリアルを作成し、そのマテリアルのShaderからBumped Diffuseを選択。Normal Map枠に先程作成したものをドラッグアンドドロップする

無題

Unity、Skyboxの作り方とCubeMapの入手場所

作り方

CubeMapを作らずにテクスチャを貼り付けたMaterialからSkyBoxを作成する方法

http://kotobuki-t.tumblr.com/post/10517836302/unity3d-skybox

CubeMapにテクスチャを貼り付け、SkyBoxに適応させる方法

http://vimeo.com/50932543

※CubeMapとSkyBoxは貼り付けるテクスチャが左右逆だった

※CubeMapを作成する際はFace sizeを高解像度の2048にしてからテクスチャを貼り付けていかなければ、後からFace sizeを高解像度に変更しても適応されない。CubeMapにインポートされたテクスチャと元のテクスチャはリンクされていないため。

入手場所

http://www.humus.name/index.php?page=Textures

Unityで作成したLeap Motionのアプリケーションの起動をWindows32bitと64bitで使い分ける方法

Visual Studio2013の使い方

プロジェクトの作成

ファイル→VisualC#→Windows→WPFアプリケーションを選択して名前を入れてOKボタンを押す。

WPFアプリケーション以外にWindowsフォームアプリケーション、コンソールアプリケーション、クラスライブラリと選択肢があるが。WindowsフォームアプリケーションはWPFアプリケーションの下位版。クラスライブラリは.dllを作るためのもので、単体では起動する事が出来ず.exeと組み合わせて使うもの。

実行可能形式ファイル.exeの作成まで

作成の前にソリューションエクスプローラーのプロジェクトを右クリックしてプロパティをクリックして開く。ビルドタブの中に「32ビットの優先」というチェックボックスがあるのでこれをはずす。チェックをつけたままだと64bitOSでも32bitプログラムが実行されてしまうので。

作成はビルド→ソリューションのクリーンをクリックして、ビルド→ソリューションのビルドをクリック。ツールバーの二段目の開始ボタンの右側にあるプルダウンリストをReleaseにする。その横のもAny CPUになっているか確認する。Any CPUとは32bit、64bitWindowsOSのどちらでも実行出来る形式にビルドする事。

終わったらプロジェクトフォルダを開いて見るとbin/Releaseフォルダの中にexeファイルが出来ている。

ソースファイルはこんなかんじ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace Unity
{
    class SwitchApp
    {
        static void Main(string[] args)
        {
            if (IntPtr.Size == 8)
            {
                // 64bit
                Start("64bit\\The4DFingerTennis_LM_64bit.exe");
            }
            if (IntPtr.Size == 4)
            {
                // 32bit
                Start("32bit\\The4DFingerTennis_LM_32bit.exe");
            }
        }

        private static void Start(string exeName)
        {
            Process process = Process.Start(exeName);

            // 終了するまで待機する
            //process.WaitForExit();
        }

    }
}