VRの基礎。

ダンウロード VR Samples  

新規プロジェクトにAdd

Assets->VRSampleScenes->Scenes->MainMenuを開き

MainCameraをコピーして、自分新規のシーンに貼り付け。

(新規のシーンのカメラを削除して)

今から本題に入ります。

VRで要はカメラはそのまま人間の目になること。

では先ほどコピーしたのは人間の目です。28CDD855-021B-4A26-A397-090833B226B4

MainCameraに cameraControl というスクリプトを作る

下のコードを貼り付け(テストのため)

[SerializeField] private GameObject m_Camera;

void Update ()
{
float x = 2 * Input.GetAxis(“Mouse X”);
float y = -2 * Input.GetAxis(“Mouse Y”);
m_Camera.transform.Rotate(y, x, 0);
float z = m_Camera.transform.eulerAngles.z;
m_Camera.transform.Rotate(0, 0, -z);
}

cubeの3Dオブジェクトを作る、

cubeに VRInteractiveItem を追加する、

(VR インタラクティブ アイテム)

cubeに cube のスクリプトを作る。

 

using VRStandardAssets.Utils;
using UnityEngine.UI;

[SerializeField] private VRInteractiveItem vrinteractiveitem_;

private void OnEnable()
{

}
private void OnDisable()
{

}

【ソシャゲ制作入門】Unity+CodeIgniterでソシャゲっぽいものを作る進捗【第二回】

はいどうも。
松村真人です。

最近寝落ちしまくってたので進捗書くタイミングをずっと逃してしまっていました。←
今日は進捗がキリのいい段階になったことと寝落ちしていないので進捗更新しようと思います。

~前回からの進捗~
1.ブラウザ上のメンテナンスページからリソースを追加できる
2.クライアントアプリ起動時にサーバーから必要なリソース一覧情報を取得
3.リソース一覧情報から持っていないリソースをサーバーからダウンロードして保存する
4.サーバーとの通信シーケンスをおおざっぱにモジュール化

後は既存のガチャのスクリプトの部分をいじるだけなので期限には間に合いそうで何より。

続きを読む

【ソシャゲ制作入門】Unity+CodeIgniterでソシャゲっぽいものを作る進捗【第一回】

はいどうもこんにちは~。
松村真人です。

ちょっとした事情で来週の月曜日までに就活作品を一本作ることになったので、せっかくなので進捗をちょこちょこ書き留めていきます。
Webプログラマー志望なので、今回はWebアプリをメインにソシャゲっぽいものを作っていきます。

~中身~
 1.Unity制クライアント(前期に作って遊んでたガチャのアプリ)
 2.CodeIgniter制アカウント管理アプリケーション(この前就活で作ったものを改良)
 3.CodeIgniter制リソース管理アプリケーション(一から作ってみる)
 4.データベース

これらを組み合わせて以下のシステムを作ってみます。

・端末データをデータベースに登録してアカウントを作る
・PC用アカウントを登録して端末データと関連付ける
・データベースにリソース(ガチャで排出されるカードのデータや画像)を登録できる
・クライアントアプリでガチャを回すボタンを押した時にサーバー側で排出カードを決定する
・排出するカードをデータベース上のアカウントに追加する
・排出したカードをクライアントアプリに送信して表示させる
・ブラウザからも排出したカードを確認できるようにする

続きを読む

【輪講】Unityで8の字軌道を描く

卒業作品の制作過程で、8の字っぽい軌道を描く必要な場面があった
Unityで実装にあたって、どのようなコーディングが可能なのかを調べていて
自分なりに納得のいくコーディングが出来たので、その内容を輪講として扱います
時間があればlocal座標を併用して、より複雑な軌道を描くことに挑戦します


輪講の流れ
①円軌道を描く
②周期をずらして、8の字にする
③local座標を組み合わせてみる
続きを読む

Unityでマウスの座標にオブジェクトを出す

Unityでのゲーム制作が本格的になってきたのにスクリプトでのオブジェクトの出し方など、基礎的なことが分からない・・・。
ということで、
・スクリプトで実行中の動的なオブジェクト生成
・マウスの座標(スクリーン座標)をワールド座標に変換
・カメラの旋回
この辺をやっていきました。

Unityでインスペクタにprivate変数&独自クラスを表示する

Unutyのスクリプトでオブジェクトの速度など設計中によく変わる値を設定するときよく使う方法にpublic変数にしてインスペクタから値を設定する方法があります。
SnapCrab_NoName_2015-7-27_16-29-17_No-00

ただ、この方法だと他のクラスからも変数が操作できてしまうので怖い・・・。
というわけで、privateな変数をインスペクタに表示する方法がこちら。

[SerializeField]
private float rotateSpeed = 0.1f;

SerializeFieldをprivate変数を宣言する前に書いてやれば解決!

独自クラスをインスペクタに表示する方法はこちら。

using UnityEngine;
using System.Collections;
using System;

[Serializable]
public class Enemy
{
    [SerializeField]
    private int hp;
}


public class Rotate : MonoBehaviour {

    [SerializeField]
    private float rotateSpeed = 0.1f;

    [SerializeField]
    private Enemy enemy;
}

Serializableをクラスの定義の前に書いてやればOK!「using System」を忘れないようにしましょう。
こんな感じに表示されます。

SnapCrab_NoName_2015-7-27_17-10-5_No-00

これでいろいろ幅が広がった気がする!・・・のでゲーム制作頑張ります。

【輪講】Terrain Toolkit

輪講で行ったTerrain Toolkitの機能についてメモしていきます。

【TerrainToolkitとは?】
アルゴリズムを元に地形を自動生成するパッケージ。

-主な機能について-

【Create(地形を自動で生成する)】
・Voronoi…ボロノイ図状、任意の数の凸に地形を分割する|
・Fractal…フラクタル。自己相似した細かな凹凸による起伏を作成|
・Perlin…ノイズ関数をつかったフラクタルににた地形

【Erode(風や雨、波による地形の浸食をシュミレート)】
・Thermal…熱
・Hydraulic…水
・Tidal…波
・Wind…風

【Texture(地形の標高によってテクスチャを自動で塗り分ける)】

【輪講】Unityでの地形作成

輪講で行った地形作成についてメモしていきます。

【Terrainとは?】
広大なフィールドを少ない負荷で作ることができる地形エンジン。
高低差やテクスチャ、木、草、風のなびきなどの設定を行えます。

【地形ベースの作り方】
Unityのメニューから
GameObject→CreateOther→Terrainをクリック
すると大きな床が生成され、これが地形のベースとなります。

-機能の紹介-

【①Raise / Lower Terrain(地形の盛り下げ)】
・Brush Size…描く範囲の大きさ
・Opacity…盛り下げする量

【②Paint Height(Heightの値まで地形を盛り下げ)】
・Height…値まで地形を盛り下げる

【③Smooth Height(地形を滑らかにする)】

【④PaintTexture(地形にテクスチャをつける)】

【⑤PlaceTrees(木などの設置する)】
・TreeDensity…木の密度
・TreeHight…木の高さ、ランダム設定可能
・ColorVariation…明暗のランダム値

【⑥PaintDetails(草を生やす)】
・TargetStrengh…草の密度

【Windows設定】Unityでlocalhostにアクセスする

はいどうもこんにちは。
現在電車の中からブログを書いております。

今回はWindows版Unityでlocalhostを指定してサーバーにアクセスするための設定を紹介します。

なんか関係ない本読んでたら偶然見つけました。←

続きを読む