投稿日:2017年10月09日  カテゴリー:VR  投稿者:SingularityMaster

■『Avatar Grab Sample』について

OculusTouchを使ったコンテンツを作成するにおいて、『Avatar Grab Sample』という非常に参考になるサンプルがあります。これはOculusの中の人ことmfmfさんが作ったサンプルです。

ただし、少々古いサンプルなので、Unity2017+OculusSDK1.16.0の環境において、いくつか修正しないといけない部分があります。この記事では、その修正とサンプルを使うところまで紹介します。

 

■『Avatar Grab Sample』の入手

まず、『Avatar Grab Sample』を入手します。『Avatar Grab Sample』はOculusDevelopersフォーラムのこちらでダウンロードできます。

 

 

ダウンロードしたらzipファイルを解凍して、中にある「AvatarGrabSample」というUnityPackegeFileを実行して、Unityにインポートしてください。実行する先は、前の記事までで作成してきたプロジェクトにお願いします(Unity2017+OculusUtilities1.16.0-beta + Oculus Avator SDK1.16.0 + Oculus Platform SDK1.16.0の環境)。

インポートが完了すると、Assets内にSamplesというフォルダができているはずです。

 

 

このSample->Contentフォルダ内にAvatarWithGrabというUnityファイルがあるのでこれを開きます。これがサンプルシーンなのですが、エラーが出て実行できないはずです。なのでまずバグを修正します。

 

■バグの修正(その1)

「Assets/OVR/Scripts/Util/OVRGrabber.cs(105,33): error CS1061: Type `OvrAvatarDriver' does not contain a definition for `GetCurrentPose' and no extension method `GetCurrentPose' of type `OvrAvatarDriver' could be found. Are you missing an assembly reference?」というエラーが発生しているはずです。

Unity2017+OculusSDK1.16.0環境下では、足りない定義があるのでそれを加えていきます。

 

 

Assets->OvrAvatar->Scriptsの中に、「OvrAvatarLocalDriver.cs」というスクリプトファイルがあるので、それを開きます。このスクリプト中の、40行目あたりに以下の定義一式を追加します。

 

    public bool MyGetCurrentPose(out PoseFrame pose)
    {
        pose = new PoseFrame
        {
            voiceAmplitude = voiceAmplitude,
            headPosition = UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.CenterEye),
            headRotation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.CenterEye),
            handLeftPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.LTouch),
            handLeftRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.LTouch),
            handRightPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.RTouch),
            handRightRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.RTouch),
            controllerLeftPose = GetControllerPose(OVRInput.Controller.LTouch),
            controllerRightPose = GetControllerPose(OVRInput.Controller.RTouch),
        };
        return true;
    }

 

次に、Assets->OVR->Scripts->Utilの中に「OVRGrabber.cs」というスクリプトファイルがあるので、それを開きます。このこのスクリプト中、105行目の

m_avatar.Driver.GetCurrentPose(out frame);

を削除して、

((OvrAvatarLocalDriver)m_avatar.Driver).MyGetCurrentPose(out frame);

に変更します。

 

■バグの修正(その2)

「The referenced script on this Behaviour is missing!」という警告がいっぱい出ているはずです。これは、このサンプルが作られた当初といくつかSDK内のファイル名が違っているのが原因です。

 

 

Assets->OVR->Scripts->Utilの中に、「OVRGrabber.cs」と「OVRGrabbable.cs」いうスクリプトファイルがあります。このファイルの名前のOVRを削除して、それぞれ「Grabber.cs」と「Grabbable.cs」というファイル名に変更します。

 

■バグの修正(その3)

エラーメッセージは表示されなくなりましたが、まだモノを掴むことができません。これは「Grabber.cs」にAvatarオブジェクトが設定されていないせいです。

 

 

HierarchyビューのLocalAvatar->grabber_leftオブジェクトを選択して、Inspectorビューを見ます。Grabberスクリプト中にAvatarという欄がありますが、そこに何も設定されてないはずです。

なので、Assets->OvrAvatar->Content->Orefabの中に、LacalAvatar.prefabというファイルがあるので、これをそのAvatar欄にドラッグして設定します。同様にして、grabber_rightオブジェクトにもLacalAvatar.prefabを設定します。

 

これで『Avatar Grab Sample』を正常に実行することができるはずです。ただし、まだ「No Oculus Rift App ID has been provided.」というエラーが出ていて気持ちが悪いのでこれも修正しておきます。

 

■OculusAppIDの取得、設定

「No Oculus Rift App ID has been provided.」を解決するためには、OculusAppIDを取得し、設定する必要があります。OculusDevelopersサイトのManageにアクセスしてください。このページの「Create New App」をクリックします。するとGearVRかOculusRiftかの選択肢が表示されるので、OculusRiftを選んでください。

 

 

次にアプリ名の入力画面が表示されるので、適当なアプリ名を入れて「Save and Continue」をクリックします。

 

 

次の画面に表示されるAppIDという欄の16桁の数字がOculusAppIDになります。これをコピーします。

 

 

Unityに戻って、ツールバー中の「OculusAvatars」をクリックします。Inspector画面にOculusRiftAppIDの入力欄が表示されるので、コピーしたIDをペーストします。

これでエラー表示はなくなるはずです。

 

■『Avatar Grab Sample』の実行

『Avatar Grab Sample』を実行してみましょう。

 

 

テーブルの上に並んだブロックを手で掴むことができるはずです。掴んだブロックを放り投げたり、他のブロックに衝突させることもできます。

これはOculusTouchを使ったコンテンツを作るうえで非常に参考となるサンプルです。これをベースに様々なコンテンツを作ることができます。これをテンプレートプロジェクトとして保存しておくと良いでしょう。

 

次の記事では、この『Avatar Grab Sample』を参考に、OculusTouchでオブジェクトを掴む方法を説明していきます。

 

前の記事 次の記事

U5Di65 <a href="http://pniugjwbydwq.com/">pniugjwbydwq</a>, [url=http://rbxwtvgiixez.com/]rbxwtvgiixez[/url], [link=http://tmcxrtrprduj.com/]tmcxrtrprduj[/link], http://huzeuhsedeqf.com/

 U5Di65 <a href="http://pniugjwbydwq.com/">pniugjwbydwq</a>, [url=http://rbxwtvgiixez.com/]rbxwtvgiixez[/url], [link=http://tmcxrtrprduj.com/]tmcxrtrprduj[/link], http://huzeuhsedeqf.com/

I'm self-employed http://9taxi.in.net/ 9taxi When Dr. Ying-Cheng Lin was an undergraduate majoring structural engineering in Taiwan, he knew that his studies would one day help him land a good job. But he never realized they would also save his life.

 I'm self-employed http://9taxi.in.net/ 9taxi When Dr. Ying-Cheng Lin was an undergraduate majoring structural engineering in Taiwan, he knew that his studies would one day help him land a good job. But he never realized they would also save his life.

Is it convenient to talk at the moment? http://pornhd.in.net/ pornhd.com The teacher, identified by a family member as 45-year-old Michael Landsberry, was killed while trying to intervene when the attack broke out at 7:16 a.m.

 Is it convenient to talk at the moment? http://pornhd.in.net/ pornhd.com The teacher, identified by a family member as 45-year-old Michael Landsberry, was killed while trying to intervene when the attack broke out at 7:16 a.m.

ggSQT2 <a href="http://gaalmkcsgkkv.com/">gaalmkcsgkkv</a>, [url=http://xisfwhjjnqdt.com/]xisfwhjjnqdt[/url], [link=http://hzjueckdifhr.com/]hzjueckdifhr[/link], http://dcaunhlszicj.com/

 ggSQT2 <a href="http://gaalmkcsgkkv.com/">gaalmkcsgkkv</a>, [url=http://xisfwhjjnqdt.com/]xisfwhjjnqdt[/url], [link=http://hzjueckdifhr.com/]hzjueckdifhr[/link], http://dcaunhlszicj.com/

wa1Obx <a href="http://eohsctmbiydg.com/">eohsctmbiydg</a>, [url=http://cibxmcevmrae.com/]cibxmcevmrae[/url], [link=http://clcafcvhizak.com/]clcafcvhizak[/link], http://fbkrumqcmutw.com/

 wa1Obx <a href="http://eohsctmbiydg.com/">eohsctmbiydg</a>, [url=http://cibxmcevmrae.com/]cibxmcevmrae[/url], [link=http://clcafcvhizak.com/]clcafcvhizak[/link], http://fbkrumqcmutw.com/

nW82QY <a href="http://tdymaezsvgbi.com/">tdymaezsvgbi</a>, [url=http://tqzglfdyvjop.com/]tqzglfdyvjop[/url], [link=http://ovwpxgaqgxpi.com/]ovwpxgaqgxpi[/link], http://ybunyqoefvqz.com/

 nW82QY <a href="http://tdymaezsvgbi.com/">tdymaezsvgbi</a>, [url=http://tqzglfdyvjop.com/]tqzglfdyvjop[/url], [link=http://ovwpxgaqgxpi.com/]ovwpxgaqgxpi[/link], http://ybunyqoefvqz.com/

Incorrect PIN http://xvideos.doctor/ porn video From Robert De Niro's dramatic weight gain for 'Raging Bull' to Matthew McConaughey's intense loss for 'The Dallas Buyer's Club,' check out celebrities who've shocked us with their shape-shifting ways...

 Incorrect PIN http://xvideos.doctor/ porn video From Robert De Niro's dramatic weight gain for 'Raging Bull' to Matthew McConaughey's intense loss for 'The Dallas Buyer's Club,' check out celebrities who've shocked us with their shape-shifting ways...

Gloomy tales http://xhamster.in.net/ xhamster.com Republicans blame Fannie Mae and Freddie for helping toinflate the housing bubble, and they are eager to reduce thegovernment's involvement and make sure taxpayers are never againon the hook for losses.

 Gloomy tales http://xhamster.in.net/ xhamster.com Republicans blame Fannie Mae and Freddie for helping toinflate the housing bubble, and they are eager to reduce thegovernment's involvement and make sure taxpayers are never againon the hook for losses.

zlMQ6I <a href="http://hozmqvcpavox.com/">hozmqvcpavox</a>, [url=http://elnheicbaind.com/]elnheicbaind[/url], [link=http://xlnjcdviwfcw.com/]xlnjcdviwfcw[/link], http://gozyljhrldxp.com/

 zlMQ6I <a href="http://hozmqvcpavox.com/">hozmqvcpavox</a>, [url=http://elnheicbaind.com/]elnheicbaind[/url], [link=http://xlnjcdviwfcw.com/]xlnjcdviwfcw[/link], http://gozyljhrldxp.com/

JfqsTy <a href="http://hfstdhgnsami.com/">hfstdhgnsami</a>, [url=http://zxlrimgfjadv.com/]zxlrimgfjadv[/url], [link=http://byvpddotarsr.com/]byvpddotarsr[/link], http://wnehrtcnyych.com/

 JfqsTy <a href="http://hfstdhgnsami.com/">hfstdhgnsami</a>, [url=http://zxlrimgfjadv.com/]zxlrimgfjadv[/url], [link=http://byvpddotarsr.com/]byvpddotarsr[/link], http://wnehrtcnyych.com/

Powered By

Copyright (C) 2017 テクノロジーカフェシンギュラリティ. All Rights Reserved.