view midterm/midterm.tex @ 3:6e2f940dcb5a

fix11/16
author Yuki HAMASE <e155718@ie.u-ryukyu.ac.jp>
date Fri, 16 Nov 2018 15:45:26 +0900
parents ecb5281ed1a9
children 3a41130a00bd
line wrap: on
line source

\documentclass[twocolumn,twoside,9.5pt]{jarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{picins}
\usepackage{fancyhdr}
%\pagestyle{fancy}
%\usepackage{abstract}
\usepackage{url}
\usepackage{bussproofs}
\usepackage{listings,jlisting}
\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{../pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿}
\rhead{}
\cfoot{}

\setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
\setlength{\headheight}{0mm}
\setlength{\headsep}{5mm}
\setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
\setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
\setlength{\textwidth}{181mm}
\setlength{\textheight}{261mm}
\setlength{\footskip}{0mm}
\pagestyle{empty}

\lstset{
  frame=single,
  keepspaces=true,
  breaklines=true,
  xleftmargin=0zw,
  xrightmargin=0zw,
  framerule=.2pt,
  columns=[l]{fullflexible},
  language={},
  tabsize=4,
  lineskip=-0.5zw,
  escapechar={@},
}


\input{dummy.tex}
%\renewcommand{\abstractname}{Abstract}
\begin{document}
\title{OculusとLeapMotionを用いた音ゲーの研究}
\author{155718B 氏名 {浜瀬}{裕暉} 指導教員 : 河野 真治}
\date{}
\maketitle
\thispagestyle{fancy}

\section{研究目的}

面白い音ゲーがしたい、と思ったことはないだろうか。私はある。ということで、音ゲーを作りたいと思う。

今回作成する音ゲーは3D操作を必要とする。単に3Dを使うゲームではなく、三次元空間での入力を行うため、キーボード・マウスではこれは実現できない。そこで、Oculusを使用したVR音ゲーを制作する。

通常、VRゲームでは棒状のコントローラーを握って操作を行うが、VRゲーム中、棒を常に握らないといけないことが煩わしいと思ったことはないだろうか。私はある。
そこで、LeapMotionを使用することによりフリーハンドで、より自由に、体全体を動かせるようなゲームを制作する。

\section{既存の音ゲーについて}
現在存在する音ゲーは、列やレールに沿ってオブジェクトが流れてくるのに合わせて、タイミングよくアクションを起こすものが主流である。その多くは入力装置の斬新さに重きを置いて開発されている。

VRの音ゲーでは、レールに沿って流れてくるオブジェクトに触れてアクションをするものや、タイミングよくレバー・ボタン入力をするものがあるが、そのアクション要素の大半はVRである必要が今の所ない。

\section{提案するシステム}
今回私が提案するシステムは、Oculus、LeapMotionおよびUE4を複合した音ゲーである。

\begin{figure}[htpb]
   \begin{center}
       \includegraphics[width=80mm]{../pic/play.jpg}
   \end{center}
   \caption{プレイの様子}
   \label{fig:rbtree}
\end{figure}

\section{Oculus}
Oculusとは、視界全体を覆うようなディスプレイ(HeadMountDisplay:HMD)と、その中での操作を補助するためのコントローラーおよび、HMD,コントローラーの位置を検出するためのカメラのことである。HMDが左右の目に異なる映像を映すことにより、立体視を体験することができる。

HMDの位置をカメラが検出することにより、VR空間上での移動を再現できるほか、HMD自体が加速度を検出することにより細かいブレを検出することができる。

\section{LeapMotion}
LeapMotionとはVR向けに開発されたデバイスの一つで、hand and finger  motion catureと呼ばれる、使用者の手の相対位置、開き具合等を取得することができる装置である。LeapMotionをOculus等VR装置と組み合わせてを使用\cite{oculus}することにより、コントローラー、その他の入力デバイスを手に所持することなくVRシステムの操作を行うことが可能にとなる。

\begin{figure}[htpb]
   \begin{center}
       \includegraphics[width=80mm]{../pic/leap.jpg}
   \end{center}
   \caption{Oculus+LeapMotion}
   \label{fig:rbtree}
\end{figure}

\section{UnrealEngine4}
UnrealEngine4(UE4)とは3Dゲームエンジンであり、C++またはBluePrintsと呼ばれる独自言語を用いて3Dゲームを構築することができる。

BluePrintsはGUIプログラミング言語で、イベントとデータをノードで接続していくことでプログラムを構築することができる。内部処理としてBluePrintsはC++に変換されて実行される。

\begin{figure}[htpb]
   \begin{center}
       \includegraphics[width=80mm]{../pic/BP.jpg}
   \end{center}
   \caption{BluePrintsの例}
   \label{fig:rbtree}
\end{figure}

UE4をLeapMotionおよびOculusと接続することにより、コントローラーを使用しないVRゲームを作成できる。

\section{進行状況}
LeapMotion+Oculus+UE4の接続を行い、またそれを用いた音ゲーを作成した。LeapMotionを使用した際の独自の操作体系を構築し、それを使用したUIの作成を行った。
また、当該ゲームは琉球大学オープンキャンパスの際に実演を行った。

独特な操作性のため、難しいと感じる方が多かったが、一部の音ゲー経験者は滞りなくプレイを行うことができた。

\section{課題}
LeapMotionをOculusと接続した際、取得した手の位置をVR空間上に表示させる必要があった。
LeapMotionはOculusのHMD全面に貼付して使用するため、LeapMotionで取得できる手の位置はHMDからの相対位置であり、これをVR空間上のカメラ位置・カメラ回転角度に加算した位置に手を表示することで解決した。

また、LeapMotionを使用した手の開閉判定にはごくわずかなラグがあり、厳密なタイミング判定をすると快適なプレイングが阻害された。
これは、タイミング判定時間を引き延ばすことで解決した。



\section{これからの目標}
単純に制作した音ゲーのボリュームを増やしていきたい。

また、全く新しい楽器を制作する場合の、楽器シミュレーションとしての側面を追加していきたい。

あらかじめ定められた楽器パーツ、およびシミュレーター使用者が独自に作成したパーツをインポートしたものを、直交座標、または極座標にしたがって配置していくことで、新しい楽器を構築する。
配置された楽器パーツは、手で触れることで選択状態になり、再配置することが可能となる。

演奏シミュレーションとして、配置された各パーツに触れることにより、規定の音が再生されるようにする。シミュレーター使用者は、このモードにより無理なく各パーツが配置されているかどうかを確認することができる。

さらに、演奏シミュレーションでは演奏者の視点で楽器を観察することができたが、演奏の様子を観客視点で見ることができるオーディエンスモードを搭載したい。このモードにより、シミュレーター使用者は想定した通りの演奏の様子となっているかどうかを確認することができるようになる。


\section{今後の課題}
ゲームボリュームを増やすためには、ベースとなる曲をこれまで以上に集める必要がある。

楽器シュミレーター機能を実装する場合には、楽器パーツを新たに作成する必要がある。
オーディエンスモードは観客視点から演奏者を観察するためのモードであるため、プレイヤーのアバターを制作する必要がある。

\nocite{*}
\bibliographystyle{junsrt}
\bibliography{reference}
%\begin{thebibliography}{9}
%\bibitem{Oculus}OculusRiftDK2Setup \url{https://developer.leapmotion.com/vr-setup/dk2}
%\end{thebibliography}
\end{document}