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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

1回答

2631閲覧

音声認識でキャラクターを移動・旋回したいです

adistar5150

総合スコア6

Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

1クリップ

投稿2017/11/28 23:17

コード ```###前提・実現したいこと UnityとIBM watosonを用いて、キャラクターを声で誘導する音声認識型の脱出ゲームを作っています。 実際にScriptで音声認識は反応していますが、キャラクターが空を切って、その場で歩いているだけで前に進まず、旋回もしません。 Plane上を歩いて、ゴールに向かわせたいのですが、どの行を修正すればよいでしょうか? ###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード ```C# using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UnitychanMove : MonoBehaviour { public GameObject output; public Rigidbody rb; private string previousText = ""; private void Start() { rb = this.gameObject.GetComponent<Rigidbody>(); } void Update() { Text outputText = output.GetComponent<Text>(); if (outputText.text != previousText) { if (outputText.text.Contains("前") && outputText.text.Contains("Final")) { GetComponent<Animator>().SetTrigger("MoveTrriger"); GetComponent<AudioSource>().Play(); this.transform.Translate(this.transform.forward * 50f); this.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 0)); previousText = outputText.text; } if (outputText.text.Contains("後") && outputText.text.Contains("Final")) { GetComponent<Animator>().SetTrigger("MoveTrriger"); GetComponent<AudioSource>().Play(); this.transform.Translate(this.transform.forward * -50f); this.transform.rotation = Quaternion.Euler(new Vector3(90, 0, 0)); previousText = outputText.text; } } } void OnCallChangeFace() { } } ###試したこと 様々なサイトの見ましたが、修正できませんでした。 ###補足情報(言語/FW/ツール等のバージョンなど) Unity 2017.2 IBM watonを使用しています。

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

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

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

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

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

guest

回答1

0

移動処理が1フレームしか呼ばれてないです。
以下テキトーに改変

C#

1void Update() 2{ 3 Text outputText = output.GetComponent<Text>(); 4 5 if (outputText.text.Contains("前") && outputText.text.Contains("Final")) 6 { 7 if (outputText.text != previousText) 8 { 9 GetComponent<Animator>().SetTrigger("MoveTrriger"); 10 GetComponent<AudioSource>().Play(); 11 this.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 0)); 12 13 previousText = outputText.text; 14 } 15 16 this.transform.Translate(this.transform.forward * 50f); 17 } 18 if (outputText.text.Contains("後") && outputText.text.Contains("Final")) 19 { 20 if (outputText.text != previousText) 21 { 22 GetComponent<Animator>().SetTrigger("MoveTrriger"); 23 GetComponent<AudioSource>().Play(); 24 this.transform.rotation = Quaternion.Euler(new Vector3(90, 0, 0)); 25 26 previousText = outputText.text; 27 } 28 29 this.transform.Translate(this.transform.forward * -50f); 30 } 31}

投稿2017/11/29 01:28

ShiroKuroShiro

総合スコア134

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問