「Unity」カテゴリーアーカイブ

速習:ARアプリ4

適当な3Dオブジェクトを出して,Image Targetの子にします

vuforia10

ImageTargetを選択し,Databaseから作成したデータベースを選択し,ImageTypeから使用したいマーカーを選択します

ARCmeraを選択し,Open Vuforia Configurationを選択,

DatabaseのLoad(データベース名)にチェック,Activateにチェックを入れる


ゲームを再生します

印刷済みのマーカーを近づけると

Cubeが表示されます

このようにImageTargetの下にあるものがマーカーで表示されるものになります

速習は以上で終わりです.お疲れ様でした

もどる

速習:ARアプリ3

作成されたLicenseKeyをヒエラルキーの,ARCameraを選択し,InspectorのOpen Vuforia Configurationを選択します

AppLicense Keyのエリアにペーストします

ARカメラの準備が整いました


次にターゲットのデータを作成します

ターゲットになるなるべく複雑な画像を選びます.今回はいらすとやの画像を使用します

TargetManagerへ移動しAdd Databaseをクリックします

Add Databaseをクリックし,データベース名を決め,Typedeviceを選択します

作成されたデータベース名を選択し,Add Tagetをクリックし,ターゲットとなる画像を登録します.

Ratingが高いと認識しやすいですが,Ratingが0のものは使えないと思ってください

Download Databaseをクリックし,

Unity Editorを選択し,Downloadをクリックしダウンロードします.ターゲット用のUnityPackageがダウンロードされます

ダウンロードしたUnityPackageをImportします

つぎへ)(まえへ

速習:ARアプリ2

次に新規シーンを作成し

vuforia3

Main Cameraを削除します


Assets内の,Vuforia>PrefabsのARCamera をヒエラルキーにドロップします

ゲームモード(再生ボタン)を押すとライセンスエラーと表示されますので,ライセンスを申請します(サイト

LicenseManagerへ行き,Add License Keyをクリックします.

Project TypeはDevelopmentに(リリースする際はConsumerやEnterprise ※有料にします)

AppNameは自由に,Nextをクリックします

ライセンスが作成されると,ライセンス一覧が表示されます.先ほど作ったライセンス名をクリックします

ライセンスキーをコピーします

つぎへ)(まえへ

速習:ARアプリ1

瞬時にARアプリを作ります(更新中 2017年7月)

Unity ver. (5 or latest?) no info.

renew 05.Jul.2017

Vuforia is not Free > https://developer.vuforia.com/pricing

Vuforia Lib ver. 6-2-10(latest ver. on Jul 2017)

https://developer.vuforia.com/

へ行き,Regisiterをクリックし,必要事項を入力し登録します.

Vuforia Developer Portalへログインし,

Downloads>SDKの,

Download Unity Extensionをダウンロード(Win,Mac共通)

※UnitypackageはWin,Mac共用できることが多いですよ

Unityを開き,Assets>Import Package>Custom PackageダウンロードしたUnitypackageを選択し,全てImportします

vuforia2

Importします

古いスクリプトを最新版にコンパイルし直すか聞かれるので,I MADE a Backup,,,,,をクリックします

次へ

特定の日付までのカウントダウンを作る

とあるイベントまでのカウントダウンタイマーの例です.

C#ですとこんな書き方があります.

using UnityEngine;
using System.Collections;
using System;//.netフレームワークを使います一行上のものと一緒?
using UnityEngine.UI;   // UIを使います.UI使用時は必須

public class countTime : MonoBehaviour {
	System.DateTime mynow;//日付形式の入れ物作成(以下2つも)
	System.DateTime date2;
	System.DateTime date1 = new DateTime(2015, 4, 2, 18, 30, 0, DateTimeKind.Local);//カウントダウン終了時刻を時刻形式で設定
	string myString;//日付表示のための文字の入れ物
	string myString2;//ん?これ未使用?
	bool countdSW = false;//これも未使用?

	public Text countDownTime;//unity UIのTextコンポーネントをプロパティ画面でアサインできるように準備
	void Start () {

		// 現在時刻の取得
	mynow = DateTime.Now;//これ無意味ですが,気持ちの問題です

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

			
						mynow = DateTime.Now;//最新時刻を取得
		if (mynow < date1) {//日付の入れ物同士は比較演算子が使えますので,カウントダウン終了時刻と現時間を比較

						TimeSpan span = date1 - mynow;//Timespanという時間の長さを入れる専用の入れ物を作ってspanに入れる.これ.NETらしい

						myString = string.Format ("{0:00}h{1:00}:{2:00}:{3:00}", span.Days, span.Hours, span.Minutes, span.Seconds); //これも未使用?
						countDownTime.text = string.Format ("{0:00}d{1:00}h{2:00}m{3:00}s", span.Days, span.Hours, span.Minutes, span.Seconds);//残時間spanから各時間要素を取り出す {0:00}はその表示形式の設定ルール

				} else {
						countDownTime.text = "00d00h00m00s";//カウントダウンを越えたら0を入れる.ここに別のテキストを入れてもいいかも
				}
		}



}

ポイントは

1.日付形式 System.DateTime で変数作成

2.時間の長さを入れる TimeSpan で変数作成

3.日付形式の変数同士で > や <が使える

4.stringのフォーマット形式{0:00}{1:00}など

です

PlayMarketでの公開について

Google Play Marketへの公開って.apkは50MB制限だそうです.

で,SpilAplication Binary というオプションで50MB以下におさえられるみんな言ってるけど,おさえられない.

どうも,分割されないものもあるらしい.

なのでこれやっても100MB 越え,,,

基本的に読み込んだアセットなどのうち,未使用のものはアプリに入らないらしいが,

ということで,試しに未使用の日本語フォントを削ってみたらあっさり減りました.

ということで,日本語フォントは(再配布可能なフォントですよもちろん)あまり種類使えない,,,

1書体15MBとすると,1つかふたつが限界かと,,

どうしても多種のフォントを使用したい場合,静的な文字は画像でいれるのが良いかも.

となるとキレイに出力するためには,AdobeIllustrator,Photoshopがやはり重要になってきますね,,

iTweenのonCompleteがおかしい

iTweenの処理後の操作でoncompleteを使うけど,指定した関数に飛ばない.

DebugLogを見ると飛んでいるようだけど,やってくれない.

うまくいかなかった例

iTween.FadeTo(obj, iTween.Hash("alpha", 0, "time", 0.4f,"oncomplete","boolReset","oncompletetarget", obj));

function boolReset(){
//bool reset
}

 

iTween.FadeTo(obj, iTween.Hash("alpha", 0, "time", 0.4f,"oncomplete","boolReset"));

function boolReset(){
//boolreset
}

 

うまくいった例

iTween.FadeTo(obj, iTween.Hash("alpha", 0, "time", 0.4f,"oncomplete","boolReset","oncompletetarget", gameObject));

ほげぇ,,,

Unity勉強会1日目その2

ひとつのスクリプトで判定させる,文系的な解答例

using UnityEngine;
using System.Collections;

public class loadlevel1 : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}

	public void OnClick(){

		if (Application.loadedLevelName == "1stScene") {
			Application.LoadLevel ("2ndScene");
		}
		if (Application.loadedLevelName == "2ndScene") {
			Application.LoadLevel ("1stScene");
		}

	}
}

ifで総当たり(全てチェック)します.

2択なので,elseを使えばいいかもしれませんが,,,

これで,このスクリプトはLevel2でもLV1でも共用できるスクリプトになります.

他にもアイデア次第ではどんなレベルでも使い回せるスクリプトがくめるでしょう.1つのスクリプト使い回すと,修正もしやすいですよ〜(ただ制約も生まれる).LV20まであれば20個修正するとかってばかばかしいですよね,,

Androidアプリの作成

  1. AndroidSDKをダウンロード(エディタ無しの純粋なSDKでOK)
  2. UnityのSDKの場所をUnity>Preferenceで指定
  3. BuildSettingsを開き,Androidを選び,switch platformを選択
  4. アプリ名や会社名を設定し,buildする
  5. できたアプリ(.apk)をAndroidにインストール

プロジェクト発表

  1. 配布のデバイスを使って、、、
  2. 「ガラガラアプリを作成せよ」
  3. ガラガラを作る理由としては,,
  4. 音,画像,加速度センサ,タッチ といったデバイスが持つ機能を利用させるから
  5. 構造としては「オープニング」→ 選択画面 ←→ ガラガラの実行画面(複数OK) という3つのシーンで構成します
  6. Androidデバイスは貸し出します

AndroidのデベロッパモードONの方法

  1. 貸出したタブレットは
  2. アプリ>設定>端末情報>ソフトウェア情報>ビルド番号 の部分を何回かタップするとデベロッパモードONになる
  3. タブレットにコピーしたアプリ( .apkファイル)は,ホーム>ASUSをタップ>黄色いフォルダのアイコンで「ファイル…」をタップ>コピーしたファイルをタップ>「インストール」をします