设置碰撞体,例如cube
将脚本挂载在物体上,碰撞显示text
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Netcode;
public class ColliderSign : NetworkBehaviour
{
public GameObject text;
void Start()
{
text.SetActive(false);
}
private void OnCollisionEnter(Collision collision) {
if(collision.gameObject.GetComponent<PlayerControl>().IsLocalPlayer){
text.SetActive(true);
}
}
private void OnCollisionStay(Collision collision) {
if(collision.gameObject.GetComponent<PlayerControl>().IsLocalPlayer){
text.SetActive(true);
}
}
private void OnCollisionExit(Collision collision)
{
if(collision.gameObject.GetComponent<PlayerControl>().IsLocalPlayer){
text.SetActive(false);
}
}
}
碰撞体的子物体,例如3dObject-legacy-text
绑定代码,使文字一直正对屏幕(相机)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LookAtMainCamera : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.LookAt(transform.position + Camera.main.transform.rotation *
Vector3.forward,Camera.main.transform.rotation * Vector3.up);
}
}