teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コードを載せました。

2021/02/05 04:48

投稿

ryom_a_rys36
ryom_a_rys36

スコア2

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,11 @@
3
3
  そのためにはオブジェクトAが出現しているかそうでないかの判定が必要で、出現していないのなら「出現させる」。出現しているのなら「消去する」というコードを書かなくてはなりません。
4
4
  どう書けばいいか分からないので教えていただきたいです。
5
5
 
6
+
7
+
8
+ 加筆しました↓
9
+
10
+ あるオブジェクトAというのはこのコードでいうbinderです。音声認識で得たtextに該当するワード(音声認識の精度がよくないためあれこれ書いてますが)があれば発現させる仕組みを作っているのですが、もう一度同じワードを発すると消える仕組みが作れません。この後、どう書けば良いでしょうか??
6
11
  ```C#
7
12
  //ブック生成に必要な情報 (距離、向き)
8
13
  Vector3 posTo = camera.transform.position + (camera.transform.forward * _distance); //カメラから距離を設定

1

オブジェクトAというのはこのコードでいうbinderです。音声認識で得たtextに該当するものがあれば発現させる仕組みはできたのですが、その後、同じ言葉を言ったらそのbinderが消える仕組みの作り方

2021/02/05 04:48

投稿

ryom_a_rys36
ryom_a_rys36

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,25 @@
1
1
  あるオブジェクト(オブジェクトA)がSpaceキーを押すと出現して、もう一度Spaceキーを押すと消える。さらに、もう一度押すと出現。(出現 ⇄ 消える)という関係を作りたいです。
2
2
 
3
3
  そのためにはオブジェクトAが出現しているかそうでないかの判定が必要で、出現していないのなら「出現させる」。出現しているのなら「消去する」というコードを書かなくてはなりません。
4
- どう書けばいいか分からないので教えていただきたいです。
4
+ どう書けばいいか分からないので教えていただきたいです。
5
+
6
+ ```C#
7
+ //ブック生成に必要な情報 (距離、向き)
8
+ Vector3 posTo = camera.transform.position + (camera.transform.forward * _distance); //カメラから距離を設定
9
+ Quaternion rotation = Quaternion.Euler(-20f, 180f, 90f); //バインダーが出てくる向き(回転)を設定
10
+ var parent = camera.transform; //カメラを親要素とする
11
+
12
+ //GameObject binder = GameObject.Find("binder");
13
+ //binder.SetActive(binder.activeSelf);
14
+
15
+ //ブック生成
16
+ if (text.Contains("ブック") || text.Contains("ベック") || text.Contains("別府"))
17
+ {
18
+ Instantiate(binder, posTo, rotation, parent); //ブックの位置
19
+ audioSource.PlayOneShot(Book_sound);
20
+
21
+ Debug.Log(message: "ブック出現");
22
+
23
+ }
24
+
25
+ ```