お問い合わせ

INTERVIEWプログラミング教育について、識者と考えます

ARやVRで時間と空間を作り変える
プログラミングは未来を作るための魔法

文 星政明/写真 徳永徹

人気ゲームのコントローラーを自作したり、人の口が映し出されるマスク(しゃべる!)を作ってみたり 、明治大学の准教授として学生を指導しつつ、子どもにも親しみやすいユニークな研究を行う橋本 直先生。私たちが生活している現実世界と、コンピュータが作りだす情報世界の融合を目指しているそうです。そんな橋本先生に、ARやVRといった最先端のテクノロジーに関するご自身の研究について、子どもがプログラミングを学ぶことの意義、そしてプログラミングの上達に必要なことをお聞きしました。

Profile:橋本 直

明治大学総合数理学部先端メディアサイエンス学科准教授。九州工業大学大学院工学研究科博士後期課程修了後、科学技術振興機構研究員を経て現職。ARやVRを中心としたインターフェース開発と、エンタテインメントへの応用に関する研究を行っている。

橋本先生が運営する個人サイト「工学ナビ」:http://kougaku-navi.net/

20年以内に、目の前にCGが表示されるのが当たり前に

――橋本先生はどのような研究をされているんでしょうか?

ひと言で表現するなら「インターフェース」の研究です。「境界面」を意味することばですが、コンピュータの世界では、「何かと何かの間で情報をやりとりするためのしくみや装置」のことをインターフェースと呼びます。

例えばキーボードやマウスは、人とコンピュータのインターフェースです。人はキーボードやマウスを使うことで、コンピュータを動かすことができますよね。ディスプレイも、映像や文字によってコンピュータから人に情報を伝えていて、これもインターフェースです。

私が以前作ったもので、子どもが興味を持ちそうなものをあげるなら、ゲーム「スプラトゥーン」のコントローラーですかね。市販の水鉄砲に電子回路を組み込んで、水鉄砲型のコントローラーを作りました。作中のキャラクターになったような気分で遊ぶことができます。

――すごいおもしろそうですね。やってみたい。

これは「人とゲーム」のインターフェースですが、ほかにも「人と空間」「人とコンテンツ」「人と人」を結びつけるようなインターフェースの新しい可能性を探るのが自分の研究です。

――ほかにどんなものを作られているんですか?

テレビで紹介されて話題になった「MouthOver」というマスク型のデバイスがあります。マスクにスピーカーとディスプレイが内蔵されていて、事前に撮った音声と口の画像が再生されます。

風邪をひいてうまく声が出せないときとか、矯正中で口元を見せたくないときでも、声と表情をデバイスが代替してくれるわけです。

これは人と人がコミュニケーションをとりやすくするためのインターフェースです。見ようによっては、コンピュータによるお助け機能を衣服のように「着ている」という見方もできますし、コンピュータと人間が融合した「新しい人間」だ、という見方もできます。

この研究ではマスク型でしたが、人々が活動する社会環境にVR(※1)やAR(※2)のしくみが浸透してくるとまた違ったアプローチができるようになると思っていて、最近はそのあたりに興味を持って取り組んでいます。

※1:「Augmented Reality」(オーグメンティッド・リアリティ)。現実の環境にコンピュータが作りだしたデジタル情報を重ね合わせる技術。

※2:「Virtual Reality」(バーチャル・リアリティ)。実物・オリジナルではないが機能としての本質は同じであるような環境を、ユーザの感覚を刺激することによって作り出す技術。

――ARといえば「Pokémon GO」。VRもプレステで有名ですよね。

ARもVRもテレビや新聞で報道されるようになって、一般的に知られる技術となりつつありますが、すでに10年くらい前、ARを取り入れたアニメが話題になったんですよ。その名も「電脳コイル」(2007年・NHK)。子どもたちの間で「電脳メガネ」というウェアラブルデバイスが流行って、デジタルのペットや道具を現実に重ねてコミュニケーションがとれるようになる、そんな世界で様々な事件が起こる、という物語です。

「電脳コイル」はARを子どもたちに提示し、これから先の未来を予感させるものでした。初音ミクの登場もそのころ。2010年代後半になると「Pokémon GO」が大ヒットし、マイクロソフトがARグラス「Microsoft HoloLens」を開発者向けにリリースしました。最近はVRゴーグルも5万円くらいで購入できるようになりましたね。

これから実用化がますます本格化するでしょう。きっと20年以内に、生活の中で目の前にCGが表示されるのが当たり前になると思います。

テクノロジーで時間や空間の捉え方が変わる

――ARやVRを使って橋本先生はどんな未来を作ろうとしているんでしょうか。

いま、研究室の学生と「人の過去の行動を可視化する」プロジェクトを進めています。人の行動を三次元的に記録し、それをARで現実世界に重ねて表示するというものです。

興味があれば小学生でもプログラミングに熱中できる

現在作っているものでは、他人がどこをどう歩いて何を見ていたのかという情報がARグラスに表示されるんですが、ゆくゆくは手足の動作や何を手に取ったかという情報も詳細に記録して表示できるようにしようと思っています。これができると、例えば、料理や工作などのこみ入った作業も初心者でもラクに手順を追えるようになるはずです。

――たしかに便利そうですね。

過去に行われたことが目の前にリアルタイムで再現されるわけですから、ある種のタイムマシンともいえます。この性質をうまく使うと、生活時間が大きくずれている人同士でも一緒にご飯を食べたり、勉強を教えてもらったりという体験の共有が可能になると思います。

ARやVRによって時間だけでなく空間の在り方も変わり、会議や打ち合せの方法も激変するでしょう。SF映画などではよくある表現ですが、遠隔地にいる相手が自分と同じ空間にいるようにCGで表示されて一緒に話したり作業したりできる、なんていうのはまさにARやVRによって実現されるものです。

――インターフェースがARやVRに変わることで、時間と空間の捉え方も大きく変わるわけですね。

こうしたアイデアによって社会の利便性を大きく向上させたいと思っています。私にとってプログラミングはそのようなしくみを作るための手段です。

達成したい目的を見つけることが、プログラミング上達への近道

――橋本先生がプログラミングを学ぶことになったきっかけを教えてください。

はじめてプログラムを組んだのは中学生のころですね。技術・家庭科の授業で、「BASIC」という言語を学ぶ機会があったんです。丸や三角などの図形を描くという内容でした。思ったとおりの結果をすぐに得られることがうれしくて、プログラミングにはまりましたね。シューティングゲームとかアドベンチャーゲームを作ってましたよ。

そして高専に進学し、ロボットや電子回路をプログラミングで動かす楽しさを学んで、モノ作りのほうにのめり込んでいきました。アニメやゲーム、映画も好きで、フィクションの世界を現実化できたら面白いと思ったことが、いまの研究につながっています。

――先生の所属する総合数理学部では、学生はどのようにプログラミングを学んでいますか?

1年生はプログラミングの基本を学ぶんですが、その中で電子工作と絡めてハードウェアとの連携についても触れています。2年生では画像処理や音声信号処理、CG、Webなどいろいろなテーマを取り扱い、3年生ではより高度なアルゴリズムやデータ分析といったようにステップアップしていきます。

――プログラミングを教える際に心がけていることはありますか?

総合数理学部ではプログラミングは必修科目です。だから、まずプログラミングを好きになってもらわなければいけません。学生が興味を持ちやすいように言語を選んだり、カリキュラムを設計したりしています。

――どんなときに学生の反応はよいでしょうか。

やっぱり、自分と同じように思いどおりの結果が出たときですね。カーソルの動きにあわせてキャラクターが動いたり、自分で作った電光掲示板のプログラムでちゃんと文字が流れたり。そんなときは目が輝きますよ。

――達成感が重要なんですね。

プログラミングって「魔法」なんだと思うんです。適切なプログラムを組めば目的を達成できる。それも人間にはできないような規模のことを一瞬でできたりする。そのことをしっかり教えてあげたいと考えています。

――プログラミングのスキルが伸びる学生の特徴を教えてください。

よくいわれることですが、プログラミング自体を目的とするのではなく、別の目的を持つことが大事です。その目的は何でもかまいません。作曲したい、3Dプリンターで工作をしたい、手芸の型紙を作りたい。何でもいいんです。

大事なのは、プログラミングを使って自分の趣味や特技をもっと楽しくしたいと思うこと。プログラミングは、目的を実現するための手助けをしてくれる「魔法」なんですから。

プログラミングはできたほうが面白い

――小学校で必修化されますが、みんなプログラミングできるようになるんでしょうか?

プログラミングは手段なので、できなくてもいいんですよ。例えるなら、プログラミングは料理と同じ。自分でする人もいる。苦手だから任せる人もいる。おいしい料理を求めてプロにお金を払う人もいます。

プログラミングができると、生活のなかのちょっとしたこと、例えば家電の動かし方とかAIとの付き合い方みたいなものを思い通りにカスタマイズしたり、食事や睡眠、仕事や運動などの日々の行動を管理・記録・共有するようなアプリを、個人のニーズに合わせて作ったりできるようになります。

プログラミングの素養がある人はそういうことを自分でやっちゃうし、苦手な人や面倒な人はお金を払ってプロから買ってもいい。もちろん、高性能なプログラムを作ったり、面白いアプリを作ったりできる人は、その道を極めてヒーローになることもできる。あと、家族や好きな人のためにプログラミングをする、という人もいるでしょうね。プログラミングに限ったことじゃないんですが、自分事になると急に面白くなってくるんです。

小学校のプログラミング教育については、家庭科で例えると、目玉焼きとかお味噌汁みたいなごく簡単な料理を作るのを、みんなで一緒に体験する機会だと考えています。調理実習を少しやっただけで「料理ができるようになった」と言わないのと同じで、プログラミングができる・できないというよりは、プログラミングという新しい世界の門をたたいて、その面白さに触れる感じだと思います。なによりもまず、プログラミングを好きになってほしいですね。

――なるほど。

日常にITが当たり前にある時代ですし、プログラミングによって機能を拡張できるIoTデバイスも増えています。生活をもっと便利にしたいと思うときに、プログラミングが役立つのではないでしょうか。

自分でやるか、他人にお願いするか、どちらでもいいのですが、自分で手を動かすことができたほうがハッピーな生活を送れるようになると、個人的に思っています。

――できないよりも、できたほうが生活の質は上がるかもしれませんね。

「これからの時代はプログラミングができないと生き残れない」という人もいますが、それはいい過ぎだと思いますね。ただ、ITリテラシーに関しては絶対に重要です。いまは何をするにしても、PCやスマートフォンを操作できなければいけませんから。ITに関する素養は、サバイバル能力として身につけてほしいと思います。

PAGE
TOP