31
Windows Phone / Store ユニバーサルアプリ iOS /Androidからの移植作業時の課題実例 株式会社ポケット・クエリーズ 代表取締役 佐々木 宣彦 2014.09.09 Unite 2014(Sea.le) を踏まえて 〜 Windows Phone 8.1 アプリ開発と Unityゲーム開発の夕べ

【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

Embed Size (px)

DESCRIPTION

9月9日に品川のマイクロソフト様本社にて開催されたWindowsPhone/ストアユニバーサルアプリ開発セミナーで講演したスライドです。 Unity製iOS/Androidゲームを、WindowsPhone/Storeユニバーサルアプリとして移植した際に発生した課題実例についてご紹介します

Citation preview

Page 1: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

Windows Phone / Store ユニバーサルアプリ

iOS/Androidからの移植作業時の課題実例

株式会社ポケット・クエリーズ

代表取締役

佐々木 宣彦

2014.09.09

〜  Unite  2014(Sea.le)  を踏まえて  〜  Windows  Phone  8.1  アプリ開発と  Unityゲーム開発の夕べ

Page 2: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

2

アジェンダ

1. 自己紹介 2. Windows Phone/Store ユニバーサルアプリ     iOS/Androidからの移植作業時に発生した課題実例 3. おまけ 

Page 3: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

3

1.  自己紹介

Page 4: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

              

iiOOSS、AAnnddrrooiidd、ブラウザゲームの 企画 -- デザイン -- 開発 -- 運用を承ります

           を 暮らしへ。

ゲームのちからで世の中を変えます

『ゲーム AAII 技術』

          で業界貢献。

ゲームのちからの世界事例を積極的に発信

『セミナー講演』

『UUnniittyy でゲーム開発』

『ポケクエ』

ゲームのちから。 それは人を夢中にさせる あたらしいエネルギーのこと。

株式会社ポケット・クエリーズ 『ポケクエ』

Page 5: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

株式会社ポケット・クエリーズ 『ポケクエ』

自社タイトル

昨年(2013年)夏から、カジュアルゲームを数本開発・リリース  

 

 

Page 6: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

アルファベットを集めて

あなたの知らない『世界の料理』を楽しもう!

22001144年44月 IIGGDDSSにて展示

++

OOccuulluuss   LLeeaapp MMoottiioonn

自社タイトル

リリース待ち

Page 7: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

7

2. Windows Phone/Storeユニバーサルアプリ iOS/Androidからの移植作業時に

発生した課題実例

Page 8: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

8

移植実施したゲームタイトル 概要

【プラットフォーム】

iOS・Android

【使用アセット】

•  NGUI 2.6.1

•  EasySave2 •  Facebook SDK

•  Prime31 ü  Etcetra ü  Etcetra Android ü  AdMob ü  GameCenter

•  WebViewPlugin (GREE)

•  SpriteStudio •  iTween

Page 9: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

9

課題サマリ

① プラットフォーム切り分け処理問題 ② プラグイン問題   NGUI:

•  2.x系が動作しない問題と3.xへのVer.Up時の問題 •  ScreenSize(自動対応)問題 •  タップがダブルタップに!問題

  EasySave2: 暗号化処理問題   SpriteStudio: 文字エンコード問題

Facebook SDK: Win対応問題   WindowsStoreアプリプラグイン: ルール上の課題(ドキュメント) ③ System.Collections.Hashtable問題 ④ シェーダ問題 その他: (参考)VisualStudioでの設定について

Page 10: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

10

課題①: プラットフォーム切り分け処理

当然予想された問題ですが。。。。   結構使ってますよね?

Page 11: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

11

課題②: プラグイン問題

NGUI : 2.x系が動作しない問題 と 3.xへのVer.Up時の問題

2.xではPhone/ Store共にNGUI動作しない.

3.xにUpGradeすると、大きさ問題発生

 -> 手動で修正しまくる

UpGradeToolを使う。

Page 12: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

12

課題②: プラグイン問題

NGUI : ScreenSize(自動対応)問題

iOSの 640 x 1136 に合わせてデザインしている。 Androidはこの設定(Minimum Height = 640)でOKだが Windows Phone では数値変更必要

Page 13: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

13

課題②: プラグイン問題

NGUI : タップがダブルタップに!問題

Error : Double click on Windows Phone Device.

NGUI  2.6.1  で発生  -­‐>  3.x系へのVer.Up で修正

Page 14: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

14

課題②: プラグイン問題

EasySave2 : 暗号化処理問題 (Phoneのみ。 StoreアプリはOK)

Error :  method `System.Byte[] System.IO.File::ReadAllBytes(System.String)` doesn't exist in target framework.

.NET for Windows phone  は .NET for Windowsのサブセット。 ビルド時にmissingとなるクラスもある。 暗号化はあきらめ、暫定対応としてPlayerPrefsの利用に処理変更

先月のEasySave2  の Ver.Up  で  Win  Phone対応した?

Page 15: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

15

課題②: プラグイン問題

SpriteStudio : 文字エンコード問題

やはりプラットフォーム切り分けの問題

Page 16: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

16

課題②: プラグイン問題

Facebook SDK : Win対応問題

現在Win Phone/Storeアプリ用がない

Page 17: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

17

課題②: プラグイン問題

WindowsStoreアプリプラグイン : ルール上の課題(ドキュメント)

プラグイン実装時にに必要な設定。 (Prime31 Ads SDKの組込み時の例: P31MetroAds.DLL を追加する)

Page 18: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

18

課題②: プラグイン問題

WindowsStoreアプリプラグイン : ルール上の課題(ドキュメント)

プラグイン実装時にに必要な設定。 (Prime31 Ads SDKの組込み時の例: P31MetroAds.DLL を追加する)   ->  UnityのManualには記載があるが、 Prime31のドキュメントにも記述して欲しい

Page 19: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

19

課題③: System.Collections.Hashtable問題

Error: Cannot implicitly convert type `System.Collections.Generic.Dictionary<string,string>’ to `System.Collections.Hashtable‘

Dictionary<string,string> に定義しなおして多応。

Page 20: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

20

課題③: System.Collections.Hashtable問題

Page 21: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

21

課題④: シェーダ問題

オリジナルで作ったシェーダーがうまく動作しない。

Windows Store アプリ

World Wide Traveling feat. Query-Chan

株式会社南国ソフト様

Page 22: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

22

その他: (参考)VisualStudioでの設定について

① Configulation Manager で Platformを ARM から x86に変更する必要がある。 ② Pakage.appmanifest, の Capabilitiesタブ 内にある Internet (Client) と  Internet (Client and Server)の    チェックボックスをONにする。

ストアアプリの場合

Page 23: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

23

その他: (参考)VisualStudioでの設定について

① Applicationの Build Eventsの部分の『Pre-build event command line』 の部分から    『$(ProjectDir)\P31Metro.dll』 を削除する。 (本件はPrime31のマニュアルに記載あり)

Prime31 MicrosoK  Ads  Plugin(ストアアプリ)の場合

Page 24: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

24

その他: (参考)VisualStudioでの設定について

① Applicationの Build Eventsの部分の『Pre-build event command line』 の部分から    『$(ProjectDir)\P31Metro.dll』 を削除する。 (本件はPrime31のマニュアルに記載あり)

Prime31 MicrosoK  Ads  Plugin(ストアアプリ)の場合

Page 25: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

25

移植作業に関する   まとめ ・ 所感

•  プラグイン ü  古いバージョン 要注意 (プラットフォーム切り分け対応) ü  C#や.Net等のライブラリメソッド 要注意

•  シェーダー、 オリジナルの物は要注意

予想していたよりは色々と課題が出た気がしていたが  分類すると、下記の3つ。  これらは時間が解決してくれるのではないかと考える。    そもそも、新規開発で進めて行く場合、本日紹介した課題実例の半分は  発生しない(古いプラグインを用いている事による部分が多い)  

Page 26: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

26

3. おまけ

Page 27: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

27

Page 28: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

28

Query-Chan model アセット ダウンロードはこちら! à http://www.query-chan.com

Page 29: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

29

Query-Chan model アセット 基本機能

24個のモーション☆ 22個の表情♪

70個の  ボイス♡ その他、ゲームに使い易い『しかけ』

Page 30: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

30

ゼンリン様3D都市モデルアセット Japanese Otaku City

ダウンロードはこちら! à http://www.zenrin.co.jp/product/service/3d/asset/

Page 31: 【Unity】WindosPhone/Storeユニバーサルアプリ移植時の課題実例

技術交流、ビジネス交流、大歓迎です。

[email protected]

本セッションに関するお問合せは こちらまで