Unity C#で webのjsonを取得するサンプルメモ

Unity C#で webのjsonを取得するサンプル

JsonReadWeb.cs

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using MiniJSON; // 事前にMiniJSONをいれておく

public class JsonReadWeb : MonoBehaviour {
    public GameObject prefab;

    void Start () {

        // コルーチン実行開始
        StartCoroutine("GetJSON");
    }

    IEnumerator GetJSON(){

        // webサーバにアクセス
        WWW www = new WWW("http://example.com/");

        // webサーバから何らかの返答があるまで停止
        yield return www;

        // エラーがあったら
        if(!string.IsNullOrEmpty(www.error)){
            Debug.LogError(string.Format("Fail Whale!\n{0}", www.error)); // エラー内容を表示
            yield break; // コルーチンを終了
        }

        // webサーバからの内容を文字列変数に格納
        string jsonText = www.text;

        // 文字列を json に合わせて構成されたキーバリューを作る
        var json = Json.Deserialize (jsonText) as Dictionary<string, object>;

        // 内容確認
        foreach (var data in json) {
            Debug.Log ("key名:" + data.Key + " value値" + data.Value);
        }

    }


}

NGUIのUIRootを別プロジェクトのUnityからコピーする。

忘れないようにメモ。

1. コピー元のUIRoot等で使っている(アトラスやテクスチャ等)素材をフォルダ等をコピー

2. コピーしたいもの使っているシーンのsceneファイルをコピー

3. コピー先で、コピーしたシーンファイルを起動し、UIRootをまるごと、ドラッグ&ドロップで、prefab化

4. あとはそのprefabを配置して自由に使える。

Unity 初歩的ミス 早見表

1. iOS/Androidでビルドできない

  • バンドル名や、アプリ名を設定したか。Player Settingで確認。
  • xcodeでビルドできない場合は、UnityのFree版でスプラッシュ画像を等をいじっていないか確認。(Pro版大丈夫)

2. リドゥ・アンドゥ(一つ前、戻す前に)ができない

  • ファイルの削除は本当にもどせないので注意!
  • プログラム自体がエラーなど吐いていると、リドゥ・アンドゥ自体がきかなくなったりする(再起動などしてみる)
  • capsロックになっていない?
  • オブジェクトのアクティブON/OFFをカスタマイズしたショートカットにしていると、その分は戻せない。

3. Materialの編集ができない。

  • Materialのインスペクタのアイコン部分をクリックするとアコーディオンが開ますw

スクリーンショット 2015-07-27 23.53.38

4. Mesh Colliderをいくら設定しても、あたり判定がきかない。

“Unity 初歩的ミス 早見表” の続きを読む

Unity toon shader(トゥーンシェーダー)で、iphone,androidの実機が陰影がついてしまう

環境:Unity4.6 MacOSX yosemite

Unityの便利な機能toonで、アニメ調に3Dモデルを表示をしたい時

スクリーンショット 2015-06-10 8.59.20

でいろんなタイプの設定が可能。

陰影をなくしたり、枠線をつけたり。
高機能!

ただそのまま、iPhone端末や、Android端末の実機で実行すると、陰影がなくしたはずなのに、適応されてない!!

そんな時は、iphoneとandroidである、プラットフォーム別の設定を変えてみると、
無事実機でも反映されておりました!

iOS / Android のPlayer Settingをいじる

スクリーンショット 2015-06-10 9.06.09

PlayerSettingsの、
Graphics API を[automatic]から[Open GL ES 2.0]に変更すると無事、実機でも反映確認できました。
Androidも同様な設定項目があるので同じく設定

参考になれば幸いです!!!

Kinect等で作成したBVHファイルを圧縮簡易化する方法

Kinect等で、モーションデータBVHをblenderにインポートすると、データが膨大になってしまう。
またその原因は1フレーム単位でモーションデータが入っているため。
指等の動きをあわせるとデータどんどん膨大になっていく。
なのでそのための対処。

  1. Blenderで、BVHファイルをインポートする。

  2. 取り込んだアニメーションを確認し、「dope sheet」とgraph editor」で圧縮前のデータ量を確認。

  3. こちらのサイトを参考にsimply curveというモーションデータを圧縮簡易化するツールを使う。
    http://silverspirecg.blog119.fc2.com/blog-entry-75.html

    ありがとうございます!!m(_ _)m

圧縮率を指定し、問題ないレベルまでアニメーションを簡易するする。
個人的にはerror:0.8とかで、いい感じで簡易された。

  1. あとは、「dope sheet」と「graph editor 」を使って実作業!

Unity C# で文字列をfloatに変換

Unity C# で文字列をfloatに変換

//string floatVal = “10.0f”; // NG
string floatVal = “10.0”;

float playerX = float.Parse (floatVal);

stringの時点でfを入れてしまうとエラーになるので注意!

Unityでレンズを通したような魚眼にする方法

Unity Proにはデフォルトで、
カメラから通した映像を魚眼風に屈折させることができるようです。

やり方は簡単、カメラのコンポート追加にて、
Fisheys」を追加するだけ。

スクリーンショット 2015-05-13 18.21.46

Strength X、Strength Yで屈折の強度を指定できます!
Unityすごし!