Hogyan készítsünk egy szalag az élet és a karakter választó mezőben

Kérem, mondja meg.
Azt, hogy a stratégia az volt a kérdés, hogyan lehet egy élet sáv felett a karakter a térképen, és a sátor körül.
Képviselik a két módja van: 1, és adjunk hozzá keret szalagot a tárgyat, és forgassa el a kamerához képest szöget, de itt a probléma átfedés közelebb tárgyakat és a számítás a forgatás szögét.






2 módon hozzá onGui megfelelő szerkezetű, de itt van egy kérdés a megfelelő helyre a tárgyakat a térképen.
Vannak olyan elképzelések, hogyan kell ezt csinálni, vagy példákat a megvalósítás?

Nincs jó és rossz, minden ezen a világon relatív.

Sárkány Rider írta (a): Kérem, mondja meg.
Azt, hogy a stratégia az volt a kérdés, hogyan lehet egy élet sáv felett a karakter a térképen, és a sátor körül.
Képviselik a két módja van: 1, és adjunk hozzá keret szalagot a tárgyat, és forgassa el a kamerához képest szöget, de itt a probléma átfedés közelebb tárgyakat és a számítás a forgatás szögét.
2 módon hozzá onGui megfelelő szerkezetű, de itt van egy kérdés a megfelelő helyre a tárgyakat a térképen.
Vannak olyan elképzelések, hogyan kell ezt csinálni, vagy példákat a megvalósítás?

használatával UnityEngine;
használatával System.Collections;

public class NPC. MonoBehaviour
# 123;
állami float nameplankahgt = 1f;
public String npc_name = "[NPC] Kerítés hal";
privát bool isVisble = false;

void OnGUI # 40; # 41;
# 123;
ha # 40; GameLogic. mainUser! = null # 41; # 123;
float DST = Vector3. távolság # 40; átalakítani. helyzetbe. GameLogic. mainUser. átalakítani. pozíció # 41; ;

ha # 40; dst <10f ) {
ha # 40; isVisble # 41; # 123;

Vector3 pos = new Vector3 # 40; átalakítani. helyzetbe. x. átalakítani. helyzetbe. y + nameplankahgt, transzformálására. helyzetbe. Z # 41; ;
Vector3 CRD = Camera. fő. WorldToScreenPoint # 40; pos # 41; ;
crd. y = képernyő. magasság - CRD. y;

GUIStyle style = new GUIStyle # 40; # 41; ;
stílusban. fontSize = 12;
stílusban. font = GuiProcessor. GETI. rusfont;
stílusban. normális. szövegszín = Színes. cián;






stílusban. igazítás = TextAnchor. MiddleCenter;
//style.fontStyle = FontStyle.Italic;

//GUI.DrawTexture (új téglalap (crd.x - 100, crd.y, 200, 20), GameInterface.getI.NamePlanka);
GUI. címke # 40; új téglalap # 40; crd. x - 120, CRD. y. 240, 18 # 41;. npc_name, stílus # 41; ;
# 125;
# 125;
# 125;
# 125;

void frissítése # 40; # 41;
# 123;
isVisble = checkVisible # 40; # 41; ;

nyilvános bool checkVisible # 40; # 41;
# 123;
visszatér GeometryUtility. TestPlanesAABB # 40; GeometryUtility. CalculateFrustumPlanes # 40; Camera. legfontosabb # 41;. átalakítani. gameObject. ütköztető. határokat # 41; ;
# 125;
# 125;

Fejlesztő Atom Horgászás - Fishing on az úszó, donk, legyező horgászat, pergetett a poszt-nukleáris időszakban.
Fejlesztő Atom Fishing II - Az első 3D-s MMO a halászat

Sárkány Rider írta (a): Kérem, mondja meg.
Azt, hogy a stratégia az volt a kérdés, hogyan lehet egy élet sáv felett a karakter a térképen, és a sátor körül.
Képviselik a két módja van: 1, és adjunk hozzá keret szalagot a tárgyat, és forgassa el a kamerához képest szöget, de itt a probléma átfedés közelebb tárgyakat és a számítás a forgatás szögét.
2 módon hozzá onGui megfelelő szerkezetű, de itt van egy kérdés a megfelelő helyre a tárgyakat a térképen.
Vannak olyan elképzelések, hogyan kell ezt csinálni, vagy példákat a megvalósítás?

használatával UnityEngine;
használatával System.Collections;

public class NPC. MonoBehaviour
# 123;
állami float nameplankahgt = 1f;
public String npc_name = "[NPC] Kerítés hal";
privát bool isVisble = false;

void OnGUI # 40; # 41;
# 123;
ha # 40; GameLogic. mainUser! = null # 41; # 123;
float DST = Vector3. távolság # 40; átalakítani. helyzetbe. GameLogic. mainUser. átalakítani. pozíció # 41; ;

ha # 40; dst <10f ) {
ha # 40; isVisble # 41; # 123;

Vector3 pos = new Vector3 # 40; átalakítani. helyzetbe. x. átalakítani. helyzetbe. y + nameplankahgt, transzformálására. helyzetbe. Z # 41; ;
Vector3 CRD = Camera. fő. WorldToScreenPoint # 40; pos # 41; ;
crd. y = képernyő. magasság - CRD. y;

GUIStyle style = new GUIStyle # 40; # 41; ;
stílusban. fontSize = 12;
stílusban. font = GuiProcessor. GETI. rusfont;
stílusban. normális. szövegszín = Színes. cián;
stílusban. igazítás = TextAnchor. MiddleCenter;
//style.fontStyle = FontStyle.Italic;

//GUI.DrawTexture (új téglalap (crd.x - 100, crd.y, 200, 20), GameInterface.getI.NamePlanka);
GUI. címke # 40; új téglalap # 40; crd. x - 120, CRD. y. 240, 18 # 41;. npc_name, stílus # 41; ;
# 125;
# 125;
# 125;
# 125;

void frissítése # 40; # 41;
# 123;
isVisble = checkVisible # 40; # 41; ;

nyilvános bool checkVisible # 40; # 41;
# 123;
visszatér GeometryUtility. TestPlanesAABB # 40; GeometryUtility. CalculateFrustumPlanes # 40; Camera. legfontosabb # 41;. átalakítani. gameObject. ütköztető. határokat # 41; ;
# 125;
# 125;

Köszönjük! És miután 2 nyári ez a példa segít




Kapcsolódó cikkek