「未分類」カテゴリーアーカイブ

Unity GUI(6) ゲームオブジェクトをアサインする準備

myscriptをダブルクリックし,

public class myscript : MonoBehaviour {

    void Start () {

の間に

	public GameObject migiya;
	public GameObject hidariya;

と入力し,保存して,Unityに戻ります.

スクリプトをアサインしたGameobjectを選択すると,インスペクタに

10

と表示されます.

スクリプトでPublic宣言したものは,このようにインスペクタで扱えるようになり,変数などの場合は直接入力できるようになります.

public インスペクタで扱えるようにして

GameObject 変数はGameObjectですよ,

migiya  名前はこれね.

という意味です.

 

Unity GUI(4)ランダム値の確認

こんどは,さきほどの

		int cat = Random .Range(0, 2);
		Debug.Log (cat);

void Update(){   }

の間に移動させ(void Start(){  }の間から出して),再生してConsoleを確認しましょう.

4

こうなります.

Update中の{}に書かれたものは,ゲーム再生中ひたすら繰り返されます.

 

UNITY GUI(3) 空のオブジェクトを作成する

それでは,Unityに戻り

メニューバーの Gameobject>Create Empty を選択します

HierarchyにGameObjectが作成されます.これを分かりやすい名前に変えてもいいですが,面倒なので,そのままでいいです.

先ほど作ったmyscriptをこの作成されたGameObjectの上へドラッグ&ドロップします

このスクリプトがGameObjectへアサインされました.

再生ボタンをクリックします.

コンソールを確認すると,そこには0か1が表示されています.3

 

ハムスターで行こう!

唐突ですが,ハムスターメディアと切っても切れない関係にあります.

プログラミングがよく分からないという方は,今回の「Unityプログラミングはハムスターだらけ」で構造を理解してください.

 

KinectV2設定メモ

Windowsアップデートの不調で1週間以上遅れていました。

KinectV2の動作についてのメモです。

「とりあえず動いた!」っていうときは画面の写真撮っておくと便利ですよ〜

キャラクターはHumanoidのConfigure済みです

ルートに設定します


の設定です。オフにしてるのは使いません。


2体あれば2人認識しても動きます。

Avator Controller のPlayer Indexを増分させてください。ただし、最初に認識したのが0、次に認識したのが1になります。人間の立つ位置は関係ありません。



スキニングしたモデルをFBXでインポートしています。今回はスキニングできてるもの使っています。

スクリプト事例ースコアをポストする

スコアをポストするそのコルーチン

ただし,エラーが出ても,コンソールに表示されるだけで,処理はなし(ダメやろ)

	// remember to use StartCoroutine when calling this function!
	IEnumerator PostScores(string name, string cName, string area,int quize,  int score, int time)
		{
		string hash = Md5Sum(name + cName + area + quize + score + time);

		string post_url = addScoreUrl + "name=" + WWW.EscapeURL(name) + "&cName=" + cName + "&area=" + area + "&quize=" + quize + "&score=" + score + "&time=" + time + "&hash=" + hash;

			// Post the URL to the site and create a download object to get the result.
			WWW hs_post = new WWW(post_url);
		Debug.Log (post_url);
			yield return hs_post; // Wait until the download is done

		if (hs_post.error != null) {
			print ("There was an error posting the high score: " + hs_post.error);
		} else {
			print("done ");
		}
		}

 

スクリプト事例ーネットワーク接続チェック

PUN使用のためのネットワーク接続チェックスクリプト.UIのパネルをsetactivateをfalseにする.

using UnityEngine;
using System.Collections;

public class netCheck : MonoBehaviour {
	public GameObject netAlertPanel;

	// Use this for initialization
	void Start () {
		if (Application.internetReachability == NetworkReachability.NotReachable) {
			//接続されていないときの処理
			netAlertPanel.SetActive (true);
		} else {
			netAlertPanel.SetActive (false);
		}
	}
	
	// Update is called once per frame
	void Update () {
	
	}


	public void closeAlert(){

		netAlertPanel.SetActive (false);
	}
}

 

スクリプト事例ー色相を動的に変更する

PNUで使用したコルーチンの中身

	private IEnumerator hotaru() {
		Debug.Log ("start rainbow");
		while (true) {
			//Debug.Log (destColor);
			float myHue = 0;
			currentColor =  Color.HSVToRGB (0.5f, 1f, 1f);
			destColor = Color.HSVToRGB (myHue, 1f, 1f);
		//	t += (Time.deltaTime) / duration;
		//	Camera.main.backgroundColor = Color.Lerp (currentColor, destColor, t);
		//	if (t > 1.0) {
		//		currentColor = destColor;
		//	}
			yield return new WaitForSeconds (1.0f);//color hold time
			t = 0;
			if (myHue > 1.0f) {
				myHue = 0;
			} else {
				myHue += 0.2f;
			}
		}
	}

 

スクリプト事例ートグルボタンのインタラクティブをOffにする

トグルボタンを押させない(インタラクティブをOffにする),ためのスクリプト.

setactivateをfalseするのは違う

using UnityEngine;
using System.Collections;
using UnityEngine.UI;//need this

public class btnDisable : MonoBehaviour {
	public Transform myButton;

	// Use this for initialization
	void Start () {

	}
	
	// Update is called once per frame
	void Update () {
	
	}

	//assign to btn obj this script, can access inspector.
	public void mybtnDisable () {
		myButton.GetComponent<Toggle>().interactable = false;
	}


}