質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

Q&A

解決済

1回答

2919閲覧

マーカー型ARの仮想ボタンのスクリプトのエラーを解決したい

midori1

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

0グッド

0クリップ

投稿2016/04/16 05:12

編集2016/04/18 10:23

UnityとVuforiaを使ってマーカー型ARを作っています。
その内の機能の一つとして仮想ボタンを追加したいと思っています。
(具体的には、マーカー上にキューブ(CubeA)と仮想ボタン(ButtonA)を出現させ、仮想ボタンを押すと、
キューブ(CubeA)が45度回転するというプログラムを組みたいと思います。)

下記のサイトを参照してVirtualButtonBehaviour.csのスクリプトを次のように編集したのですが、
※印のところでエラーが出てしまいます。

コード:
using UnityEngine

namespace Vuforia
{
public class VirtualButtonBehaviour : MonoBehaviour, IVirtualButtonEventHandler
{
private CameObject CubeAObj;
void start(){
VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
for(int i=0; i < vbs.Length; ++i){
vbs[i].RegisterEventHandler(this);※
}
}

void OnButtonPressed(VirtualButtonAbstractBehaviour vb) { CubeAObj = GameObject.Find("CubeA"); CubeAObj.transform.Rotate(new Vector3(0f,45f,0f)); } void OnButtonReleased(VirtualButtonAbstractBehaviour vb) { CubeAObj = GameObject.Find("CubeA"); CubeAObj.transform.Rotate(new Vector3(45f,0f,0f)); } }

}

エラーメッセージ:
'VirtualButtonBehaviour' does not contain a definition for 'RegisterEventHandler' and no extension method 'RegisterEventHandler' accepting a first argument of type 'VirtualButtonBehaviour' could be found (are you missing a using directive or an assembly reference?)

参照にしたサイト:
http://www.marcofolio.net/other/virtual_buttons_in_augmented_reality_with_vuforia.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Vuforiaは端的に言えば「マーカーが読み込まれたらオブジェクトがオンになる・外れたらオフになる」という挙動をします。
ですので特に難しい仕組みを作る必要はありません。

・マーカー読み込み時に表示されるオブジェクトの子オブジェクトとしてCanvasなどGUI一式を配置する
・GUIは別オブジェクトとして用意しておき、マーカー読み込み時に表示されるオブジェクトの表示状態を常に監視する(負荷を気にしないならUpdate内でenableを確認し続ける等)
・ButtonではなくRayCastでボタンが押されたかどうかを感知する
などの方法を使うと楽に作れるかと思います。

なお、エラーの質問をする場合は、
「どんなエラーが出たのか(エラーコードをコピペする)」
「エラーコードが出たスクリプト(ソースコード全文)」
「エラーコードが出た箇所(ソースコードの何行目か)」
「エラー発生時にどんな挙動となるのか(「上手くいかない」とはどういう状態か)」
を記載してください。回答がしやすくなります。

投稿2016/04/18 02:29

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

midori1

2017/09/23 07:33

回答を長い間放置して申しわけありませんでした。Vuforiaではなく結局ARToolKitでARのシステムを実装することにしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問