Upload
nobuhiko-sasaki
View
233
Download
3
Embed Size (px)
DESCRIPTION
9月9日に品川のマイクロソフト様本社にて開催されたWindowsPhone/ストアユニバーサルアプリ開発セミナーで講演したスライドです。 Unity製iOS/Androidゲームを、WindowsPhone/Storeユニバーサルアプリとして移植した際に発生した課題実例についてご紹介します
Citation preview
Windows Phone / Store ユニバーサルアプリ
iOS/Androidからの移植作業時の課題実例
株式会社ポケット・クエリーズ
代表取締役
佐々木 宣彦
2014.09.09
〜 Unite 2014(Sea.le) を踏まえて 〜 Windows Phone 8.1 アプリ開発と Unityゲーム開発の夕べ
2
アジェンダ
1. 自己紹介 2. Windows Phone/Store ユニバーサルアプリ iOS/Androidからの移植作業時に発生した課題実例 3. おまけ
3
1. 自己紹介
iiOOSS、AAnnddrrooiidd、ブラウザゲームの 企画 -- デザイン -- 開発 -- 運用を承ります
を 暮らしへ。
ゲームのちからで世の中を変えます
『ゲーム AAII 技術』
で業界貢献。
ゲームのちからの世界事例を積極的に発信
『セミナー講演』
『UUnniittyy でゲーム開発』
『ポケクエ』
ゲームのちから。 それは人を夢中にさせる あたらしいエネルギーのこと。
株式会社ポケット・クエリーズ 『ポケクエ』
株式会社ポケット・クエリーズ 『ポケクエ』
自社タイトル
昨年(2013年)夏から、カジュアルゲームを数本開発・リリース
アルファベットを集めて
あなたの知らない『世界の料理』を楽しもう!
22001144年44月 IIGGDDSSにて展示
++
OOccuulluuss LLeeaapp MMoottiioonn
自社タイトル
リリース待ち
7
2. Windows Phone/Storeユニバーサルアプリ iOS/Androidからの移植作業時に
発生した課題実例
8
移植実施したゲームタイトル 概要
【プラットフォーム】
iOS・Android
【使用アセット】
• NGUI 2.6.1
• EasySave2 • Facebook SDK
• Prime31 ü Etcetra ü Etcetra Android ü AdMob ü GameCenter
• WebViewPlugin (GREE)
• SpriteStudio • iTween
9
課題サマリ
① プラットフォーム切り分け処理問題 ② プラグイン問題 NGUI:
• 2.x系が動作しない問題と3.xへのVer.Up時の問題 • ScreenSize(自動対応)問題 • タップがダブルタップに!問題
EasySave2: 暗号化処理問題 SpriteStudio: 文字エンコード問題
Facebook SDK: Win対応問題 WindowsStoreアプリプラグイン: ルール上の課題(ドキュメント) ③ System.Collections.Hashtable問題 ④ シェーダ問題 その他: (参考)VisualStudioでの設定について
10
課題①: プラットフォーム切り分け処理
当然予想された問題ですが。。。。 結構使ってますよね?
11
課題②: プラグイン問題
NGUI : 2.x系が動作しない問題 と 3.xへのVer.Up時の問題
2.xではPhone/ Store共にNGUI動作しない.
3.xにUpGradeすると、大きさ問題発生
-> 手動で修正しまくる
UpGradeToolを使う。
12
課題②: プラグイン問題
NGUI : ScreenSize(自動対応)問題
iOSの 640 x 1136 に合わせてデザインしている。 Androidはこの設定(Minimum Height = 640)でOKだが Windows Phone では数値変更必要
13
課題②: プラグイン問題
NGUI : タップがダブルタップに!問題
Error : Double click on Windows Phone Device.
NGUI 2.6.1 で発生 -‐> 3.x系へのVer.Up で修正
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対応した?
15
課題②: プラグイン問題
SpriteStudio : 文字エンコード問題
やはりプラットフォーム切り分けの問題
16
課題②: プラグイン問題
Facebook SDK : Win対応問題
現在Win Phone/Storeアプリ用がない
17
課題②: プラグイン問題
WindowsStoreアプリプラグイン : ルール上の課題(ドキュメント)
プラグイン実装時にに必要な設定。 (Prime31 Ads SDKの組込み時の例: P31MetroAds.DLL を追加する)
18
課題②: プラグイン問題
WindowsStoreアプリプラグイン : ルール上の課題(ドキュメント)
プラグイン実装時にに必要な設定。 (Prime31 Ads SDKの組込み時の例: P31MetroAds.DLL を追加する) -> UnityのManualには記載があるが、 Prime31のドキュメントにも記述して欲しい
19
課題③: System.Collections.Hashtable問題
Error: Cannot implicitly convert type `System.Collections.Generic.Dictionary<string,string>’ to `System.Collections.Hashtable‘
Dictionary<string,string> に定義しなおして多応。
20
課題③: System.Collections.Hashtable問題
21
課題④: シェーダ問題
オリジナルで作ったシェーダーがうまく動作しない。
Windows Store アプリ
World Wide Traveling feat. Query-Chan
株式会社南国ソフト様
22
その他: (参考)VisualStudioでの設定について
① Configulation Manager で Platformを ARM から x86に変更する必要がある。 ② Pakage.appmanifest, の Capabilitiesタブ 内にある Internet (Client) と Internet (Client and Server)の チェックボックスをONにする。
ストアアプリの場合
23
その他: (参考)VisualStudioでの設定について
① Applicationの Build Eventsの部分の『Pre-build event command line』 の部分から 『$(ProjectDir)\P31Metro.dll』 を削除する。 (本件はPrime31のマニュアルに記載あり)
Prime31 MicrosoK Ads Plugin(ストアアプリ)の場合
24
その他: (参考)VisualStudioでの設定について
① Applicationの Build Eventsの部分の『Pre-build event command line』 の部分から 『$(ProjectDir)\P31Metro.dll』 を削除する。 (本件はPrime31のマニュアルに記載あり)
Prime31 MicrosoK Ads Plugin(ストアアプリ)の場合
25
移植作業に関する まとめ ・ 所感
• プラグイン ü 古いバージョン 要注意 (プラットフォーム切り分け対応) ü C#や.Net等のライブラリメソッド 要注意
• シェーダー、 オリジナルの物は要注意
予想していたよりは色々と課題が出た気がしていたが 分類すると、下記の3つ。 これらは時間が解決してくれるのではないかと考える。 そもそも、新規開発で進めて行く場合、本日紹介した課題実例の半分は 発生しない(古いプラグインを用いている事による部分が多い)
26
3. おまけ
27
28
Query-Chan model アセット ダウンロードはこちら! à http://www.query-chan.com
29
Query-Chan model アセット 基本機能
24個のモーション☆ 22個の表情♪
70個の ボイス♡ その他、ゲームに使い易い『しかけ』
30
ゼンリン様3D都市モデルアセット Japanese Otaku City
ダウンロードはこちら! à http://www.zenrin.co.jp/product/service/3d/asset/