「タクトスイッチでキャラクターの動きを制御する」UWPアプリを作る:ラズパイ3&Toradex、Windows 10 IoT Coreで楽しみながら検証するIoT実践入門(終)(1/4 ページ)
ITエンジニアに向け、「ビジネスに貢献するIoT活用」の第一歩を踏み出す「ひらめき」を得てもらうための本連載。今回は、物理ボタンのオン/オフでシステムの動きを制御するUWPアプリを作ってみよう。
本連載は、ITエンジニアが「ビジネスに貢献するIoT活用」の第一歩を踏み出す「今後のひらめき」を得てもらうためのIoT実践講座だ。数千円から1万円ほどで入手できるボードコンピュータとIoTデバイス向けのOSである「Windows 10 IoT Core」、そして、いつでも/どこでも/どれでも使えることを視野に入れた「ユニバーサルWindowsプラットフォーム(UWP)アプリ」とUnityを題材に、“業務におけるIoT活用”のヒントにするためのノウハウをお届けしていく。
前回は、LEDランプを使い、“ある操作中”にのみLEDが点滅する「簡易Lチカ」システムを作ってみた。今回は、アプリの動きを物理ボタン(タクトスイッチ)で制御するシステムを作ってみよう。
今回作成するUWPアプリは、Unity 5.3で作成した3Dキャラクターの動作とタクトスイッチの操作をひも付けて、ボタンを押すとキャラクターがジャンプするというものだ。なお、ボタンをオン/オフするイベントは、アプリの動きを制御するだけでなく、IoTハードウェアの電源を切ったり、以前紹介した、赤外線センサー/温度センサー/加速度センサー、Lチカシステムなどの別のハードウェアと組み合わせたシステムに応用してもよいだろう。
【事前準備】UnityとVisual Studio 2015について
本企画では今後のIoT活用・応用の範囲を広げる目的から、3DのUI(ユーザーインタフェース)を簡単に作れるゲーム向けの開発環境である「Unity」を、UWPアプリとして書き出すために用いる。また、書き出したプロジェクトのコード修正に「Visual Studio 2015(以下、VS2015)」を用いる。
Unityの基礎や操作方法が分からない人は、最初に「連載:ゲーム開発初心者のためのUnity入門」を参照いただき、楽しみながらUnityの基礎を学び、環境を構築してほしい。この連載は、Unityで3Dゲームを作るまでのいろいろな処理を解説したもので、Unityの開発環境の構築手順をイチから説明している。
Unity 5.3のプロジェクトを作成する
今回は作成するUnity 5.3のプロジェクトは、3Dキャラクターの「ユニティちゃん」を配置し、カーソルキー操作で上下左右に移動。移動をやめるとその場でジャンプするというものだ。
まず、Unity 5.3で「PushButtonUnityChan」というプロジェクトを作る。キャラクターと部品を配置して、Unity 5.3で単独動作させたのが以下である(動画1)。
続いて、このキャラクターに「ジャンプを繰り返す」スクリプトを追加する。このジャンプのスクリプトを記述する前に、Unity 5.3でAnimatorの設定を行い、「Jump」というStatusと、「is_jumping」というパラメーターを作成しておく(図1)。Animatorの設定やパラメータ作成方法の詳細は、説明が長くなるのでここでは省略する。「ゲーム開発初心者のためのUnity入門」などを参照いただきたい。
追加するスクリプト名は「JumpScript.cs」とする(リスト1)。
using UnityEngine; using System; public class JumpScript : MonoBehaviour { private Animator anim; void Start() { anim = GetComponent<Animator>(); } void Update() { JumpGo(); AnimatorStateInfo state = anim.GetCurrentAnimatorStateInfo(0); if (state.IsName("Locomotion.Jump")) { anim.SetBool("is_jumping", false); } } private void JumpGo() { anim.SetBool("is_jumping", true); } }
JumpScript.csでは、「is_running」というパラメーターがtrueならばジャンプし、falseならばジャンプをやめる内容のコードとなる。
UWPにプロジェクトを書き出す
コードを追記したら、UWPにプロジェクトを書き出す。プロジェクトの書き出し方は、第2回目の「Unity 5.3プロジェクトをUWPに書き出す」の章を参照いただきたい。適当な名前のフォルダを作成して、そこへ書き出せば完了だ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Raspberry Pi 3」で早速チェック──「IoTハードウェア」を準備する
ITエンジニアに向け、「ビジネスに貢献するIoT活用」の第一歩を踏み出す「今後のひらめき」を得てもらうための本連載。初回は、登場間もない「Raspberry Pi 3」を中心に、IoTハードウェアとWindows 10 IoT Coreを準備するまでを解説する。 - 「Raspberry Pi 3」が登場。Windows 10 IoT Coreは早速サポートを表明
無線通信モジュール付きのRaspberry Pi 3が登場。搭載チップの性能も向上している。マイクロソフトは発売当日にWindows 10 IoT Coreでのサポートを表明している。 - 第1回 Windows IoTを始めよう
見聞きしない日はないほど流行している「IoT」。でも、どうやったら使えるのか? 本連載では読者諸氏が慣れ親しんだWindowsのIoT版を使って、IoTを実践してみる。まずは概要とインストールから始めよう。