Romo×iPhoneで楽しむロボット体験

第3回 RomoのキャラクターUIを動かしてみよう!

この記事を読むのに必要な時間:およそ 3 分

今回のテーマは「表情の制御」

前回は,Romo SDKにあるフレームワークRMCoreを使用してデバイスを動かす方法について,ご紹介させていただきました。Romoの特徴の1つに,ロボットの表情にあたる部分をiPhoneの画面で表現しているということが挙げられるのですが,今回はその表情の制御について掘り下げてみます。

Romo SDKで提供されている2つのFramework

  • RMCore
  • RMCharacter

のうち,RMCharacterが表情に関連するFrameworkになります。

RMCharacterを利用すると,ROMOの表情をUIとして自分のアプリに組み込むことができます。自前でデザインやイラスト,表情を制御する処理などを実装することなく,プログラマー一人で表現豊かなロボットを制作することができます。

ちなみにRMCharacterはRomoの実機がなくても実装することができます。

デバイスの発売は7月24日になります。公式オンラインストアで予約することができます。

サンプルの実行

さて,今回もまずは気軽にサンプルコードを実行してみたいと思います。SDKはこちらからダウンロードが可能です。詳細は第1回の記事をご参考下さい。

RMCharacterを利用したサンプルコードはHelloRMCharacterになります。さっそく実行してiPhoneにインストールしてみました。

タップした方向をRomoが目で追います。指を離すと,ランダムで泣いたり笑ったり,色んな表情を見せてくれます。

SDKでできること

RMCharacterでできることを,以下にまとめてみました。

  • 指定された方向に視線を向ける
  • Romo語による発話
  • 左右の目の開閉
  • 33種類の表現
  • 10種類の感情の設定

とくに表情と感情表現がかなり充実しているのがわかります。Romo語は,内容はわからないけれど何か話しているというような音声になります。公式アプリのように,字幕と合わせて発話させると臨場感のある表現になります。

SDKをプロジェクトに追加

では,実際にSDKをプロジェクトに追加して動かしてみましょう。ここでは新しいプロジェクトファイルにフレームワークを追加してみます。

まずはRMCharacter.frameworkとRMCharacter.bundle(RMCharacterで使用する音声や画像ファイルがまとまっています)をFrameworksにドラッグ&ドロップ。続いて,Build PhasesタブでAVFoundation.frameworkとQuartzCore.frameworkを追加します。

新規プロジェクトにフレームワークを追加

新規プロジェクトにフレームワークを追加

RMCharacterの初期化

それではViewにRomoを表示してみましょう。まず,RMCharacterをインポートします。

ViewController.h

#import <RMCharacter/RMCharacter.h>

RMCharacterオブジェクトを取得してプロパティに保持します。

ViewController.h

@property (nonatomic, strong) RMCharacter *romo;

ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.romo = [RMCharacter Romo];
}

続いて,ViewにRomoを表示させます。

ViewController.m

- (void)viewWillAppear:(BOOL)animated
{
    [self.romo addToSuperview:self.view];
}

表示されました。放っておくと,瞬きをします

表示されました。放っておくと,瞬きをします

何かしゃべらせてみる

続いて,タップに反応して何かアクションをさせてみましょう。

ViewController.m

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.romo mumble];
}

何種類かのランダムなパターンでRomoがRomo語でしゃべります。

Romoがしゃべる

Romoがしゃべる

ちなみに,もう1つsayというメソッドがあります。引数があるのですが,試してみたところ引数に関係なく,こちらもランダムでもっと短い単語を発します。

ViewController.m

 [self.romo say:@""];

著者プロフィール

瀬尾浩二郎(せおこうじろう)

セオ商事 エンジニア / クリエイティブディレクター

2001年慶應大学環境情報学部卒業。大手SIerを経て,2005 年に面白法人カヤック入社。Webやモバイルアプリの制作を主に,エンジニア,クリエイティブディレクターとして勤務。2014年4月よりセオ商事として独立。

グッドデザイン賞を始め,国内外の広告祭など受賞経験多数。技術書の執筆や,各種媒体への記事の寄稿なども行っています。

サイト:http://theodoor.jp
ブログ:http://theodoor.hateblo.jp/
Twitter ID:theodoorjp

バックナンバー

Romo×iPhoneで楽しむロボット体験

コメント

コメントの記入