我正在通过团结建立一个白日梦应用程序,有一个基本的第一个人演示工作,但我还没有开发的团结以前。希望将字符添加到应用程序中,并与它们进行对话框。我正在考虑两种方法:
无论在哪种情况下,我都可以从eg中选择多种选择。“X在哪里”或“您的名字是什么”等等,然后取决于我的选择,角色会有其他的反应,等等。我看不出有什么东西能在标准资产中解决这个问题。围绕这一点有什么最佳实践和模板吗?如果没有任何想法/方向?
统一2017.3.1f1
GVR SDK: v1.130.1
Android Studio 3.0.1
Java jdk1.8.0_162.jdk
像素2手机
MacBook高塞拉
发布于 2018-03-27 00:29:38
这是相当容易的,只要遵循这些步骤;
给角色添加一个对撞机,并在你想要"Hello“弹出的地方放置一个3d文本,并添加这样的脚本;
public text HelloText = null;
void OnCollisionEnter(Collision collision)
{
HelloText.text.enabled = true;
}//Search more on google ; Unity 3d text.根据你的意愿创建一个立方体,并在里面放上一段文字,比如“开始对话”。添加一个对撞机到立方体和这样的脚本;
void OnMouseDown()
{
//Create dialog boxes LIKE THIS.
}这不是一个完美的方法。如果你是新来的,这可能是你最好的选择。
您可以创建一个由立方体和文本组成的预制件。然后,您可以通过脚本设置它们的值。
编辑:
创建一个空游戏对象并将此脚本附加到该对象上。然后将3 3rdPersonController游戏对象放到空游戏对象脚本中的空游戏对象槽中
示例:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AScriptName: MonoBehaviour {
public GameObject PlayerController = null;
TextMesh DialogBox = null;
void Start()
{
//Note: Attach your 3d text to your 3rdPersonController in the editor..
DialogBox = PlayerController.GetComponentInChildren(typeof(TextMesh)) as TextMesh;
DialogBox.text = "Start Conversation";
//or you can pass a string value;
//Example string text = "Start Conversation"; DialogBox.text = text;
}
}https://stackoverflow.com/questions/49502138
复制相似问题