de:code 2017 Day2 ちょっと遅くなった報告

・HoloLens – 真のエンジニアが知るべき実装
最初のセッションはHoloLensで
HoloLensのアプリは前日のセッションでもあったのですが9割がUnity製……ですが、DirectXを使用し、HoloLensというテクノロジーを理解というセッション
DirectX – Windows Mixes Reality – UWP を連携して行える
Unityと比べた際の利点は、制御をこちらで行えるので、制御をきちんとすれば、Unityよりも省電力でよい表現が可能とのこと。

・ホログラフィック アプリテンプレート(Holographic DirectX 11 App)
ベースとなるテンプレートはHolographic SDKインストールで使用できる
見ていてDirectX12ではなくDirectX11なので、今後アップデートで変わるのかなと

テンプレートを使用した処理の流れが説明されました。

DirectXでのシェーダーはテンプレートで提供されているものを参考に
・CreateDeviceDependentResource
・GeometryShader.hlsl
・PixelShader.hlsl
・VertexShader.hlsl
・VRRTVertexShader.hlsl

座標の追従、ボイス入力、サウンド(SpatialSound UWPサンプル)

空間マッピングを利用するには、「package.appmanifest」に「spatialPerception」を追記する必要があります。
(HolographicSpatialMapping UWPサンプル)

カメラはMedia Foundationを利用してトラッキングなどを行う
(HolographicFaceTracking UWP サンプル)

入力反応はBluetoothによるイベントハンドラーになります

CPUベンチマークを取るとCore i7 6600Uを1として比較すると、HoloLensは0.15、Lumia830で0.048程のスペックであることを認識しておくべき。

HoloLensアプリを作成する際のパフォーマンスの検討

HoloLensが認識する空間データは穴が開いていたり、幻(存在しない)の面が出たり、偏りが発生する。
また、ほぼ平面なのにメッシュが細かく、パフォーマンスなどに影響が出る

「ポアソンサーフスリコンストラクション」を使用するなど、データを整える必要がある。

HoloLensだけではなく、いくつかのテクノロジーを組み合わせることで、空間と時間を超えることができる!

・IoTのセキュリティアーキテクチャと実装モデル
 2セッション目はIoTに関して
 現在IoTが増えているが、乗っ取り、漏洩、破壊の脅威が増えてきている
 セキュリティを確保するには分断されたセクションで考えるのではなく、全体を通してセキュリティを確保する必要がある。
 どこからどこに引き渡しが存在するのか、その引き渡し元/先は本当に意図した引き渡し先なのか

 今後、AIとセンサーが融合することで、デバイスの相互作用に関するリスクが顕在化するはず、今から包括的にセキュリティを確保しましょう。

・GTC2017直送! NVIDIA GPU技術最前線
 ランチセッションです
 しょっぱなから「謎の企業」ネタで沸いていました。
 また、NVIDIAは全部大文字で読みは「エヌビディア」ですとアピール
 新たなNVIDIAのGPU Volta を搭載したTesla V100やスパコンDGX
 そして、NVIDIAが提供するGPGPUCloudサービスは他のクラウドサービスにも接続可能など、まさにGTC2017直送でした

・知っておくべき UWP アプリ開発の A to Z
 いまUWPといった場合は、Windows10用アプリプラットフォーム
 Desktop、Mobile、Xbox、IoT、IoT headless HoloLensがデバイスファイミリー
 クロスプラットフォームも作る場合はXamarinで
 Win32アプリはDesktop Bridge でUWP化する(Desktop App Converter)
 Windows Template StudioでUWPアプリ開発の効率化
 HockryAppでクラッシュレポートを収取
 UWPはいいぞー(個人の感想です)

・C#の現状と今後を徹底解説!「この素晴らしいC#に祝福を!」
 C#は7.0に到達
 6.0が出るまでに時間がかかり、機能更新も少ないように見える
 Roslyn、オープンソース化、C#による再実装で時間がかかったが、これは次の10年、20年に向け末永く戦える環境のため!
 .NET Frameworkも同じように再実装による停滞期に
 .Net Coreへの移植もあり、C#にも影響が出ている
 今を抜ければ.NETも次の10年、20年を戦える体制に
 IDE(VisualStudio、VisualStudio Code、VisualStudio for Mac)もクロスプラットフォーム化を進めているので、しばらく大変かも
 C#はdata、performanceを強化していくことになる
 今後も楽しみ

ちょっと休憩でEXPO会場に
 
Alex氏のサイン

・Build 2017 Updates ~ Application UI Design
 Build 2017で発表された、今後Application UI Designとして導入されるデザインガイド「Fluent Design」に関して
 今後Windowsはデスクトップだけではなく、マウスやタッチパネルだけではなくなる
 音声入力、ジェスチャー入力など幅が広がる事に対応しよう


これらの新しいデザインは勝手に適用されるという事はない、新しくアプリを作成する際に新しいコントロール、または新しいスタイルを適用しない限りそのまま

このスタイルは「Fall Creators Update SDK」から可能
Fluent Design System
Fluent Designのページ

de:code 2017 Day1 ちょっと遅くなった報告

まずは「KeyNote」……福島から向かったので、20分ほど遅れたためサテライト部屋で中継を見ていました。
一番盛り上がったのは、やはりHoloLens開発者「Alex Kipman」の登壇でした。

KipmanはKinectの開発者でもあり、MicroSoftデバイス開発のイノベーターという、ガジェット好きに限らず、開発者からも注目される方です。

当然、HoloLensに関する講演だったわけですが、「日本で開発されたHoloLensアプリで刺激を受けるものが多い」とありがたい発言があったり、
Kipmanの後のHoloLens活用事例で凄かったのが、小柳建設さんが業務トレーサビリティやお客様との確認に建築3Dモデルとともに活用している事例が公開されたのですが、
その中で凄いと思ったのが、事案終了後にそれまでのデータを保存したHoloLensをお客様へと引き渡していました。
小柳建設と日本マイクロソフトが、「Microsoft HoloLens」を活用したプロジェクト「Holostruction」の推進で連携

KeyNote全般で語られたのは、Cloud、AI、Mixed Reality、全ての環境へといった、
これまでのCloud Fast Mobile Fastからさらに進んで「Intelligence Cloud Intelligence Edge」でいくという意思表示でした。

さて、KeyNote以降は各セッションです。

・「こんなに違う!Unityアプリケーション講座」
現在HoloLensアプリの9割がUnityで作成されているとのことです。
Unityで作成する際の基本的なお話でした。

・「開発者もクリエーター。アプリ開発に捧ぐ新テクノロジ~Windows最新情報~」
Windows Creators Updateで追加された機能やWindows上でLinux(Dockerコンテナ)やiOS開発(Xamarin Live Player)を行えます。
Xamarin Live Playerは、今まではMac本体がないと開発できなかったiOS開発がMac本体なしでiOS開発が可能になるそうです。
appleに確認しており、この方法での開発は問題ないとのこと、ただし、appleストアへの登録や開発者登録にはMac本体が必要だそうです。
Cortana SKill Kitを使用すると、Bot Frameworkなどが使用できる。
など、少々駆け足で Creators Update から使用可能なAPIの紹介などでした。

・3セッション目はちょっと休憩もしたかったのでEXPO会場を巡っていました。
会場には各社のMR端末が展示されていました。
その中に3Glasses社のMR端末(S1 Blubur)も展示されていました。
今後もしかしたら開発端末の一つになるかもという事です。
Acerの端末を眼鏡を付けたままかぶらせてもらいましたが、眼鏡の蔓が当たるものの、そのまま装着可能です。
ただ、画面表示なしでの装着のため画面表示された際にどう見えるかまではわかりませんでした。
持った感じで一番軽かったのはAcer、重かったのは3Glasses、カッコよさ的にはHPかな?

・「Windows 10 Mobile 端末の展開と活用のキモ」
さて、個人的に一番気になっているWindows 10 Mobileのセッション
Lumiaの製造は終了しているが、MSとしては今後もMobileへの注力はやめないとのこと。
IoT,Mobile,PC,XBox,Surface HUB,HoloLensと全方位開発できる、OSも対応していく
Windows 10 Mobileはコンシューマというよりは企業向けの引き合いが多い。
統一されたUI、O365などとの連携相性の良さ、セキュリティの高さが評価されているとのこと。
企業で展開する際に、Windows 10 Mobileのプライマリアカウントは、途中で変えれないのでAzureADに設定しないと端末管理が大変。
ちょっと気になったスライドが、Creators Updateになった際にW10Mで「イーサーネット接続の設定」というのがあり、もしかして有線接続もできるのか?と気になりました。
企業向け管理で必要なMDMやミラキャストやミラーリングとは違い、ContinuumでPCのように作業も可能
プロビジョニングを使用して端末の設定を作成して配ることも可能
ログの収集昨日もUWPアプリで提供しているので、端末管理には便利
開発向けというよりはアーキテクト、管理者向けではありましたが、今後を期待したいです。

・「やっぱり”What’s New”も知りたい! 進化を続けるUWPの最新Update情報」
今後Windows10のアップデートは年2回のメジャーアップデートになる。
UWPリリース当初は、サイドバイサイドが難しいやWin32はなかったが、現在はApp InstallerやDesktop Bridgeを利用したWin32アプリのUWP化がああるので、範囲が広くなっている。
もちろんDesktop BridgeのアプリはPC専用ですが。
開発者モードにもデバイスポータルが追加され、ネットワーク経由でデバイスに接続し診断などができるようになった。
(接続の際、証明書エラーが出るけど、そのまま無視して表示すること)
VS2017に関しては、必要な機能、コンポーネントを選んでのインストールがしやすくなった。
VS2017でまずは抑えてほしいライブラリ
・Template 10
・UWP Community Toolkit
・Windows Template Studio
Creators Updateで強化されたAPI
・Windows Ink
・XAMLコントロール
・Windows Mixed Reality
・Bluetooth LE
等多数
Creators Updateでアプリインストールに関してストリーミングインストールやコンポーネント化インストールに対応、ただし、ストアでの公開は現在限定されている。
次のWindows10アップデートではeffect等のAPIが強化される、これは現在MSが提案している新しいUIを実現するための強化
さらに先では「.NET Standard」により、Windows,Android,iOS,Cloud,Linuxも共通コードで行けるようになるんではないか

というDay1でした、Day2に関しては別記事で。

HP Elite x3で有線Continuum

HP Elite x3って?

HP社から発売されたWindows 10 Mobile(以下W10M)端末、所謂スマホです。
ほかにも何社からか日本で使用可能なW10M端末は出ているんですが、現在出ている中で最新高スペック端末です。

Continuumとは

TVやモニターを外部ディスプレイとして画面を表示して、デスクトップPCのように大画面で操作することができます。
もちろん以前からのWindowsソフトが動かせるという事ではなく、Windowsストアで提供されているW10M対応ソフトでUWP化されているアプリという条件があります。

有線Continuum?

実はContinuumは有線と無線の二通りの方法で、接続が可能になります。
無線はケーブルに煩わせられない代わりに、遅延などが発生し、有線はその心配がない代わりに、W10M端末にスペックが必要になります。
無線はMiracastを利用した出力で、有線はUSB-TypeC-Display 変換出力機能により出力となるため、USB3以上のスペックが必要です。

ELECOM U3HC-DC03B

HP Elite x3向けにはHP社がアクセサリとしてデスクドック(V5H01AA#ABJ)とディスプレイ一体型でノートPCのようなノートドック(Y4T08AA#ABJ)を出しています。
デスクドック(V5H01AA#ABJ)なんですが、ディスプレイ出力部分がDisplayPortなため、私の環境では使えないためどうしようかと思っていたのですが、ちょうど発見した「ELECOM U3HC-DC03B」が使えるのではないかと思い購入しました。

早速つないだところ、無事に有線Continuumが出力されました!

USB PD

U3HC-DC03Bは電源接続部分にUSB PD(Power Delivery)が使われているため、普通のUSB Type-C電源アダプターでは有効になりません。

なので、今回充電ケーブルをまとめたいというのもあったのでAnker PowerPort+ 5 USB-C Power Deliveryを導入しました。
もちろんUSB PD接続にはUSB PD対応ケーブルが必要になります。


このケーブ購入したのですが、USB2.0でした。
ただ、充電機能は問題なく機能します。

USB3.1対応にする場合下記ケーブが良いと思います。

充電しながら使えない

充電機能を利用した場合、有線Continuumが解除されてしまいます。
これが「HP Elite x3」と「ELECOM U3HC-DC03B」どちらに起因するのかが自分ではわかりません。
HPのデスクドック(V5H01AA#ABJ)を購入した方が試されて、充電しながら使用可能なら「ELECOM U3HC-DC03B」の制限なのではないかと思うのですが、どちらの制限なのか不明です。

UWPはいいぞ!

さて、有線Continuumを使用して思うことは、UWPを進めるべきだなという事です。
オフィス向けアプリにせよコンシューマー向けアプリにしろUWP化してContinuum対応にすることで、ユーザーの利便性が上がり、よりよい使い方が増えていくので、UWPアプリ開発に力を入れていきたいです。

マルチデバイス対応したいんだけど

Xmarin等を使用したマルチデバイス開発が増えていくと思います、Xamarin等では共通部分と個別部分の作りこみが可能なので、基本的には同じアプリとしながらもこういった部分で対応することで、少し違うアプリを提供できると思うので、ぜひ対応してほしいと思います。

Windowsストアでのマネタイズ入門

Visual Studio 2015 RTM は7/20にリリース(条件付き)

さて、最新の開発環境「Visual Studio 2015 RTM(最終リリース版)」のリリース日が2015/7/20に決定しました。

Visual Studio 2015 RTM のリリースが 7 月 20 日に決定! 記念イベントも同日開催

VS2015はクロスプラットフォーム開発への起爆剤になるかもしれません。

また「Visual Studio Code」というLinuxやMac上でVSスタイルでASP.NET5やNode.jsの開発ができるアプリもプレビューながら公開されています。

さて、タイトルに「(条件付き)」としましたが、これは「UWP(Universal Windows Platform)」用のアプリ、つまりはWindows10専用ストアアプリ開発SDKがWindows10リリース日の7/29に正規版になるためです。
このためWindows10専用ストアアプリ開発は九日間とはいえお預けになります。

もちろん、UWPアプリ以外の開発は可能ですので、「早速最新環境で開発を!」という方はぜひ導入してください。

Windows10で「Universal Windows Platform」

Microsoftによる開発者イベント「Build2015」と日本マイクロソフト主催の「de:code2015」が終了しました。

そこでたびたび出てきたWindows10における開発に関する言葉は、「Universal Windows Platform(以下 UWP)」でした。

「Universal」といえば、Windows8.1とWindowsPhone8.1用ストアアプリ開発として「Universal Application」という言葉が生まれ、両環境共通のコード(一部は専用)で開発が行われ、連携もするというのがあります。

「UWP」はこれをもっと踏み込み、「One Windows、One Store」を実現するための開発定義のようです。

Windows10とVisualStudio2015を使用して、Windows10、Windows10 Mobile(WindowsPhone)、Xbox、Windows IoT、これらに一括で提供できるように、さらに、Android、iOSのアプリケーションを「UWP」としてリコンパイルする機能がVS2015に搭載され、デモの限りではObject-CがVS上でコンパイルされ、「UWP」アプリとしてパッケージされる、Androidは「NDK」だとおもいますが、同じようにコンパイル、パックされていました。

もちろん、ストアアプリだけがVS2015の機能ではなく、制限はあるような気がしますが、Win32ベースのアプリも「UWP」にできるような部分もありました。

当然XamarinやApache Cordova等を利用したマルチデバイスへの開発も力が入っていました。

また、マイクロソフトのVR「Holo lens」も着々と開発が進んでいるように見受けられました。
いつごろ出てくるのかは大変楽しみなVRデバイスです。

さて、国内に目を向けると先だって「de:code2015」が行われ、「Build2015」での発表を受けた技術解説などが行われたようです。

自分は参加できなかったためTLを追いかけていたかぎりでは、大きなサプライズはなかったようですが、MouseComputerがこの夏発売予定の「MADOSUMA」に「Windows10 Mobile」をインストールしたものを展示していたようです。

発売時はWindowsPhone8.1のようですが、検証を重ねて「Windows10 Mobile」を判断するようです。

間もなくWindows10が走り出すと思われます、そして「Universal Windows Platform」により、10億デバイスへのリーチが可能になるかもしれないです。

「Windows10 Mobile」は少し後になるようですが、そろったときに面白い相乗効果が生まれることを期待していますし、当然自分は開発へ踏み込んでいきます。

まずはストアアプリの開発を通じて開拓してみませんか?

MWCでWindowsPhone日本発売の光明が増えました

Mobile World Congress(MWC) 2015でfreetelと京セラの端末が公開

マウスコンピュータに続いて国内メーカーから発表がありました。

freetelブランドの端末はMWC前にプレスリリースが行われました。
最新 Windows Phone OS 搭載スマートフォン、 2015 年夏までに国内発売予定のお知らせ
なんと夏までに出すという表明です。
freetelは日本向けのSIMフリー端末販売会社なので、日本向け端末が確定したことになります。

京セラはプロトタイプとして高耐久端末にWindowsPhone8.1を搭載したようです。
engadgetさんのレポート記事がありました。
京セラがWindows Phone 8.1スマホをMWC出展。『Windows Phoneは高耐久と親和性が高い』
元々のAndroid端末にWP8.1を搭載しましたという段階のようで、端末のボタンがAndroidのままですね

AcerからWindows10 for Phones対応確約端末が発表(日本発売未定)

PC watchさんにAcer社がWP8.1端末が出すとの記事が出ました。
Acer、79ユーロでWindows 10へのアップグレードを保証したスマホ
端末としては欧州向けローエンドですが、Acer社は日本向けにAndroid端末をブックオフ経由で発売していることを考えると、もしかして選択肢が増えるということかなと思いたいところです。

Microsoftからは新端末(日本発売未定)

MWCではMicrosoftからLumia640/640XLが発表されました。
端末としてはミドルレンジの端末になるようです。
追加の特徴としては「Office 365サブスクリプション1年分」と「OneDrive 1GB 1年分」が標準でサポートされ散ることでしょうか。

開発者に向けて

それぞれの端末はWindowsPhone8.1ではありますが、Windows 10 for Phonesが視野に入っているようで、時期が来ればOS更新が降ってくることになると思います。
Windows 10 からはさらにデスク/ノートOSとモバイルOSの融合が進みます。
A社やG社のOSに比べても使用率の大きなWindowsというデスク/ノート向けOSと連携するには非常に心強い環境が整ってきます。

もちろんデスク/ノート向けがそのまま動くということはないですが、いわゆるWindowsストアアプリであれば、ユニバーサルアプリとして、モバイルにもゲームコンソールにも展開可能になり強い連携を生み出すことができる基盤が、クラウド(Azure)も含んでOneSolution/OneStoaが実現してきます。

VisualStudioによるストアアプリ、マルチデバイス開発はC/C++/C#/HTML5(JavaScript)/F#等で可能になってきていますし、UnityやUnreal Engineなどによるマルチデバイス開発もできます。

開発の親和性も非常に高い環境ですので、ぜひ開発者の皆さんには飛び込んできてほしいと思います。

Unityでuniversal Appのメモ

Unityスクリプト上でBackKeyは「KeyCode.Escape」になる。
でもあんまり行儀のいいコードでは無いような気がする

#if UNITY_WINRT
        if (Input.GetKey(KeyCode.Escape))
        {
            Application.Quit();
        }
#endif

※これは間違い
Main.csにBackキーをとるためのコードをMainPage関数に追加したものの、発生しない模様

		public MainPage(SplashScreen splashScreen)
		{
            …
#if UNITY_WP_8_1

            Windows.Phone.UI.Input.HardwareButtons.BackPressed += (sender, e) =>
		    {
                Frame frame = Window.Current.Content as Frame;
                if (frame == null)
                {
                    return;
                }

                if (frame.CanGoBack)
                {
                    frame.GoBack();
                    e.Handled = true;
                }
		    };

#endif
		}

傾き検出
 全部テスト
 いくつか機能しない、実機では「Input.gyro.enabled」をtrueにしていても「False」と表示される

	void Start () {
        Input.gyro.enabled = true;
        Input.gyro.updateInterval = 0.01F;
	}
	
	// Update is called once per frame
	void Update ()
	{
        var gyroText = "enabled : " + Input.gyro.enabled.ToString() + Environment.NewLine;
        gyroText += "attitude : " + Input.gyro.attitude.ToString() + Environment.NewLine;
        gyroText += "gravity : " + Input.gyro.gravity.ToString() + Environment.NewLine;
        gyroText += "rotationRate : " + Input.gyro.rotationRate.ToString() + Environment.NewLine;
        gyroText += "rotationRateUnbiased : " + Input.gyro.rotationRateUnbiased.ToString() + Environment.NewLine;
        gyroText += "updateInterval : " + Input.gyro.updateInterval.ToString() + Environment.NewLine;
        gyroText += "userAcceleration : " + Input.gyro.userAcceleration.ToString() + Environment.NewLine;

        guiText.text = gyroText;
	}

GyroTest

Unity-chanの表示がおかしいですが、これはWindowsPhone8.1(実機)がカスタムシェーダーに対応していないためです。
マテリアルを改良または取り去れば、きちんと表示されるはずです

Unity3dでuniversal App Projectを吐き出す際のメモ

※再度試したところ、プロジェクトファイルを書き換えなくてもコンパイラが通りました。
 自分の環境のせいで何かしらおかしなことが起こっていたのかもしれないですが、なぜ通らない現象が起きたのか、何が原因なのかよくわかりません。


吐き出して其の儘だとVisualStudio2013Up3でコンパイルが通りません。

参照の中にリンク不明のエラーが二つでます。

Unity3d Ver4.5.4p2
VisualStudio2013 UpDate3
VisualStudio Tools Unity 1.9.1
上記環境で現象が起きています。

・.Windows.csproj
・.WindowsPhone.csproj
上記二つのプロジェクトファイルの一部を書き換えます。
エラーを起こしているファイルは「Assembly-CSharp.dll」「Assembly-CSharp-firstpass.dll」の二つです。

	<Reference Include="$(UnityProjectDir)\bin\Store 8.1\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp-firstpass.dll" >
		<HintPath>.\$(UnityProjectDir)\bin\Store 8.1\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp-firstpass.dll</HintPath>
	</Reference>
	<Reference Include="$(UnityProjectDir)\bin\Store 8.1\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp.dll" >
		<HintPath>.\$(UnityProjectDir)\bin\Store 8.1\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp.dll</HintPath>
	</Reference>

このように書かれており、一見問題なく通ると思われるのですが、なぜか「$(PlatformName)」がコンパイラで指定している「ARM」「x86」ではなく「AnyCPU」となってしまうために起こるエラーです。
(「Store 8.1」の部分はWP8.1用では「Phone 8.1」となっています)

    <Reference Include="Assembly-CSharp">
      <HintPath>bin\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp.dll</HintPath>
    </Reference>
    <Reference Include="Assembly-CSharp-firstpass">
      <HintPath>bin\$(PlatformName)\$(ConfigurationName)\Assembly-CSharp-firstpass.dll</HintPath>
    </Reference>

そこで上記のように書き換えます。
さらに、VisualStudio2013Up3の「デバッグ」>「オプションと設定」>「全般」の中の「起動時にユーザーコードが見つからない時警告(マネージのみ)」についているチェックを外します。

debugoption
これが自分の環境のせいなのか、VS側の問題なのか、Unityの書き出しの問題なのか不明です。
もう少し調べてみたいところですが、そんなことよりアプリ作るために作業を進めたいと思います。

※追記
Unity-chanというUnity公式キャラクターがあります。
オフィシャルページからUnity用のAssetファイルをダウンロードすることができます。

このキャラクターを使ったアプリを作成しようとテストしていたのですが、ストアアプリ向けに吐き出そうとするとエラーが発生します。

困ったことにエラーのログが文字化けして詳しいエラー内容がわかりませんが、エラーコードから「Script/AutoBlink.cs」に書かれている「using System.Security.Policy;」はassemblyがないというエラー。
これはコメントアウトすれば解決するので、それほど問題はないと思います。
(もしくは#ifで囲ってしまうほうがいいかもしれません)

もう一つは下記画像なのですが

BycphOiIYAEf1nW.jpg large

「Script/SpringManager.cs」にある「UpdateParameter」関数内

			var prop = springBones [0].GetType ().GetField (fieldName, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

GetType しているGetField の内容が不正ということだと思うのですが、取りあえずこれも「#if」で囲って使用されないようにすることで、吐き出すことができました。

とりあえず出だしのところで躓くというへっぽこな開発スタートでしたが、まずはどうすればいいかを早いところ洗い出しておきたいです。

WindowsPhone8/8.1 Game Pad/Controller

WindowsPhone8/8.1(以降WP8/8.1)にはGame Pad/Controllerが有りませんでした。
これはモバイル向けGame Pad/Controllerとの接続で良く使用されるBluetoothですが、WP8/8.1にはBluetoothは搭載されているものの、対応profileとして「HID」が無いため外部入力機器が使用できませんでした。

ところが、最近検索していて見つけたのですが、Bensussen Deutsch & Associates, Inc(以下 BDA)社の「MOGA Game On Anywhere(以下 MOGA)」シリーズの一部が対応しているとの記事を見つけました。

MOGAにはiPhone用とAndroid用のゲームコントローラーがあるのですが、Android用でWP8/8.1に使用できる機能が付き、WP8用SDK(WinPRT)が公開されています。

MOGA Pro SDK – WindowsPhone8

自分は下記のコントローラーを購入して、SDKにあったサンプルでコントローラーが動作することを確認しました。


此方はUSB充電伝可能なリチウム電池内蔵型です。


価格は安いものの、単三電池二本が必要になる、リチウム電池やUSBコネクタはありません。

というわけで、WP8(WinPRT)用とはなっているものの、WP8.1WinRTベースで使用できるようにできないかと、色々試してみました。

“WindowsPhone8/8.1 Game Pad/Controller” の続きを読む