2016年7月29日金曜日

Unity5でUnity Remote4は使用できる?

Unity Remote4はUnity version4系専用なのか調べてみました。
設定
設定
結果はUnity5でも問題なく動作します。設定も同じです。
そもそもUnity Remote5というアプリは存在しない。

設定方法

メニューのeditのproject settgin>エディタのdeviceをandroidにする。
あとはUnity Remote4を起動した状態で、unity5のプレイボタンを押すだけ。

注意点

偶に起動しないことがあります。Unity Remote4かUnity5の再起動をしてみてください。
それと起動に若干時間がかかることがあります。

2016年7月26日火曜日

Unity シーンの切り替わりイベント

Unityでシーンが切り替わるタイミングでスクリプトを実行したい場合。
void OnLevelWasLoaded(int level) {}でシーンの切り替わる度にイベントが実行されます。

注意点

OnStartとOnLevelWasLoadedはどちらかのみ実行されます。
OnLevelWasLoadedを実装しているオブジェクトが始めて読み込まれた際は実行されません。
永続化したオブジェクトに使用することでOnStartの代わりにイベントが起こせます。
1,オブジェクトの読み込み
OnStartのみ実行される。
2〜シーンの切り替わり
OnLevelWasLoadedのみ実行される。

Uniy2d 画面の拡大。ズームインとズームアウト。

Unityの2Dゲームでの画面の拡大。カメラのズームとアウトのサンプルソース。
    private GameObject came=null;
    private Camera cs;

void Start() {
        came = GameObject.Find ("Main Camera");
        cs = came.GetComponent<Camera>();
        cs.orthographicSize = 3f;
    }

orthographicSizeが小さいほど拡大されます。
3Dの場合はカメラの距離でズームインとズームアウトしてきましたが。
2Dno場合はZ軸が使えないので表示するサイズを変更します。

2016年7月22日金曜日

ポケモン GO必要スペック

海外でブームのポケモン goが本日配信されました。
早速ダウンロードを・・・通信が重い。。

ポケモンgoの最低動作環境

  • android4.4
  • メモリ1g
  • GPS搭載

推奨動作環境

  • メモリ2g
  • ジャイロセンサー搭載
二万円程度のスマホでも動作しますがジャイロセンサーがないとARは使用できません。

ジャイロセンサーが無い場合

AR表示、カメラを使用した表示ができません。普通のゲーム画面でのプレイになります。見た目が変わるだけでゲームをプレイする上でのデメリットはありません。
 GPSが無い場合は致命的です。ほぼ移動できないからです。wifiエリアをワープしながらポケモンを捕まえることになり、根気がいります。

おすすめのスマホ

  • ZenFone2
  • ZenFone3(日本での発売は8月上旬〜9月中頃
4万円以下でジャイロスコープ搭載です。その他性能も高いです。
goやlaserはジャイロセンサーが付いていません。

2016年7月20日水曜日

Unityエラー Google Play Games not configured!

Googleゲームサービスを実機でテストしようとして以下のエラーが発生
Google Play Games not configured!
Warning!!  Google Play Games was not configured, Game Services will not work correctly.

原因

Googleゲームサービスの設定不足

解決方法

window>setup>Android setUpにクラス名とリソースdifinisionを設定する。
クラス名は適当で良い。
以下のXMLを得るには開発者コンソールからゲームサービスの実績を一つ作成する必要が有る。
<?xml version="1.0" encoding="utf-8"?>
<!--
Google Play game services IDs.
Save this file as res/values/games-ids.xml in your project.
-->
<resources>
  <string name="app_id">XXXXXXX</string>
  <string name="package_name">jp.sample</string>
  <string name="achievement_">XXXXXX</string>
</resources>

Unityエラー Failed to compile resources with the following parameters:

SDKのアップデート後にunityでコンパイルをしたところ以下のエラーが発生。
Failed to compile resources with the following parameters:
-bootclasspath "/Users/xxx/Desktop/DEV/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-24/android.jar" -d "/Users/xxx/Downloads/play-games-plugin-for-unity-master/samples/New Unity Project/Temp/StagingArea/bin/classes" -source 1.6 -target 1.6 -encoding UTF-8 "android/support/v4/R.java" "com/google/android/gms/R.java" "com/google/android/gms/base/R.java" "com/google/android/gms/drive/R.java" "com/google/android/gms/games/R.java" "com/google/android/gms/nearby/R.java" "com/google/android/gms/plus/R.java" "com/google/example/games/mainlibproj/R.java" "jp/samplem/R.java"
警告: /Users/xx/Desktop/DEV/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-24/android.jar(java/lang/Object.class): メジャー・バージョン52は、このコンパイラでサポートされている最新のメジャー・バージョン51より新しいです。
  コンパイラのアップグレードをお薦めします。
警告: /Users/yuuki/Desktop/DEV/adt-bundle-mac-x86_64-20140702/sdk/platforms/android-24/android.jar(java/lang/AutoCloseable.class): メジャー・バージョン52は、このコンパイラでサポートされている最新のメジャー・バージョン51より新しいです。
  コンパイラのアップグレードをお薦めします。
警告2個
エクリプスでも以下のエラー
Parsing Data for android-24 failed
Unsupported major.minor version 52.0

原因

android N SDKに開発環境が対応していない。

解決方法

SDKマネージャーからandroid N SDKをする。

2016年7月18日月曜日

unityエラー Google.JarResolver.ResolutionException: Cannot find candidate artifact

unityのgoogle Game serviceマルチプレイヤーを最新にしたところ以下のエラーが発生
Google.JarResolver.ResolutionException: Cannot find candidate artifact for com.google.android.gms:play-services-games:8.4+
  at Google.JarResolver.PlayServicesSupport.DependOn (System.String group, System.String artifact, System.String version) [0x00000] in <filename unknown>:0 
  at GooglePlayGames.Editor.GPGSDependencies..cctor () [0x00024] in /Users/yuuki/Downloads/play-games-plugin-for-unity-master/samples/YSGameService/Assets/GooglePlayGames/Editor/GPGSDependencies.cs:46 
UnityEditor.EditorAssemblies:SetLoadedEditorAssemblies(Assembly[])

解決方法

以下を更新する。
AndroidSDKマネージャー>Extras

  • Android Support Repository
  • Android Support Library
  • Google Play Services
  • Google Repository
要は最新版の組み合わせが必要らしい。

2016年7月16日土曜日

unityでReal-Time Multiplayerを使ってみた。

Google Play Games plugin for Unity:Real-Time Multiplayerを使ってみました。
play-games-plugin-for-unityのダウンロードは以下
https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/RTMP.md

ソースの変更箇所

追記 最新版のプラグインでは書き換えの必要なし
  • ロガーの競合

unity5のLoggerと競合するのでOurUtilsのLoggerを別名に変更します。
Loggerの一部メソッド名の先頭を小文字から大文字する必要あり

  • レンダラーの書き換え

unity5からレンダラーをゲットコンポーネントしないと使えません。

準備が終わるとメッセージ

The Google Play Games Plugin for Unity version 0.9.02 is now ready to use. If this is a new installation or of you have just upgraded from a previous version, please click the 'Google Play Games' menu and select 'Android Setup' and/or 'iOS Setup' to set up your project to build for the corresponding platforms.

デベロッパーセンターでゲームサービスの追加

アプリを登録する必要はありません。画像等も必要なし。
フィンガープリントを用意します(mac)
$ keytool -v -list -keystore ~/.android/debug.keystore
クライアントIDをゲットしてunityのメニューのゲームサービスのsettingに追加します。

サンプルのquizlaceを動かしてみた。

とりあえずサンプルのquizlaceで機能を確認。
実機orエミュでしか動きません。
とりあえずランダムマッチでつながりました。
サンプルは旧バージョンのunity向けのためか100%動作しているかは不明。
リアルタイムで情報が送受信されているのは確認。
招待関係はメッセージが届きませんでした。
受信か送信のどちらかにエラーがあるのかもしれません。
追記 招待にラグがあっただけでした。問題なく機能します。

2016年7月13日水曜日

Googleログインできない to access your account you must sign in on the web touch next to start browser sign in

スマホからgoogleアカウントにログインしようとしたところ以下のエラーが発生。
to access your account you must sign in on the web touch next to start browser sign in
どうやら不審なアクセスと思われたようです。
一度二段階認証をする必要がありました。

解決方法


  • 今までそのgoogleアカウントを使用していた端末でログインする
  • ログイン可能な端末から再設定用メールアドレスを設定する
  • 電話番号を入力して認証番号を受け取る

Googleは位置情報やIPアドレスを見て判断しているのかもです。