unity3D製作血條跟隨的研究
在製作遊戲的時候都會用到血條,尤其RPG遊戲,那麼這個怎麼製作呢?
第一種NGUI製作,這裡要引入NGUI HUD Text ,這是最簡單的方法。製作一個slider給其新增指令碼Follow Target如下圖:
我們給cube頭上設定一個空物體,這樣做是為了不讓血條裡cube太近。
這裡對應Target就是我們要設定血條跟隨的目標物體,因為NGUI下的camera只是渲染UI,所以下面的GameCamera就是工程的Main Camera。把UI下的camera拖過來。執行,移動cube,這樣就可以達到血條跟隨了。
那下面的Disable if Invisible什麼意思呢?
意思是當超出視野的時候血條是否渲染。一般情況勾上對效能有好處。
第二種方法,GUI畫出血條
這裡程式碼來自雨鬆部落格,引入學習,將指令碼掛在目標任務頭上,PS兩張血條,掛上,就可以做出血條跟隨。using UnityEngine; using System.Collections; public class NPC : MonoBehaviour { //主攝像機物件 private Camera camera; //NPC名稱 private string name = "學者1"; //主角物件 GameObject hero; //NPC模型高度 float npcHeight; //紅色血條貼圖 public Texture2D blood_red; //黑色血條貼圖 public Texture2D blood_black; //預設NPC血值 private int HP = 100; void Start () { //根據Tag得到主角物件 hero = GameObject.FindGameObjectWithTag("Player"); //得到攝像機物件 camera = Camera.main; //註解1 //得到模型原始高度 float size_y = collider.bounds.size.y; //得到模型縮放比例 float scal_y = transform.localScale.y; //它們的乘積就是高度 npcHeight = (size_y *scal_y) ; } void Update () { //保持NPC一直面朝主角 transform.LookAt(hero.transform); } void OnGUI() { //得到NPC頭頂在3D世界中的座標 //預設NPC座標點在腳底下,所以這裡加上npcHeight它模型的高度即可 Vector3 worldPosition = new Vector3 (transform.position.x , transform.position.y + npcHeight,transform.position.z); //根據NPC頭頂的3D座標換算成它在2D螢幕中的座標 Vector2 position = camera.WorldToScreenPoint (worldPosition); //得到真實NPC頭頂的2D座標 position = new Vector2 (position.x, Screen.height - position.y); //註解2 //計算出血條的寬高 Vector2 bloodSize = GUI.skin.label.CalcSize (new GUIContent(blood_red)); //通過血值計算紅色血條顯示區域 int blood_width = blood_red.width * HP/100; //先繪製黑色血條 GUI.DrawTexture(new Rect(position.x - (bloodSize.x/2),position.y - bloodSize.y ,bloodSize.x,bloodSize.y),blood_black); //在繪製紅色血條 GUI.DrawTexture(new Rect(position.x - (bloodSize.x/2),position.y - bloodSize.y ,blood_width,bloodSize.y),blood_red); //註解3 //計算NPC名稱的寬高 Vector2 nameSize = GUI.skin.label.CalcSize (new GUIContent(name)); //設定顯示顏色為黃色 GUI.color = Color.yellow; //繪製NPC名稱 GUI.Label(new Rect(position.x - (nameSize.x/2),position.y - nameSize.y - bloodSize.y ,nameSize.x,nameSize.y), name); }
第三種方法UGUI,這裡主要涉及到座標的轉化,這個以後部落格裡總結吧。。。
相關推薦
unity3D製作血條跟隨的研究
在製作遊戲的時候都會用到血條,尤其RPG遊戲,那麼這個怎麼製作呢? 第一種NGUI製作,這裡要引入NGUI HUD Text ,這是最簡單的方法。製作一個slider給其新增指令碼Follow Target如下圖: 我們給cube頭上設定一個空物體,這樣做是為了不讓血條裡
UGUI製作怪物血條跟隨
1.拖進人物模型, 2.給人物模型加上如下元件 、 3.建立一個指令碼控制 程式碼如下: using System.Collections;using System.Collections.Generic;using UnityEngine;[RequireComponent(typeof(Ch
UGUI 製作血條,3d物體跟隨移動
今天學習一下如何實現UGUI 2dUI跟隨3d物體移動的效果 建立cube,建立Image。image作為血條,跟隨cube移動 在cube上面新增指令碼 using UnityEngine;
Unity3D的NGUI實現血條跟隨功能
初學Unity3D,碰到很多問題,也走了很多彎路。最近做的一個安卓版的RPG小遊戲,用到了敵人血條跟隨功能。在網上查了很多資料,最後整理出了一個我覺得挺簡單的方法。(第一次寫部落格,我不知幾臉懵逼,有點小激動^_^)。 NGUI下實現血條跟隨功能 1、首先要
UGUI製作血條並跟隨角色
最簡單的一種方式——就是在對應的player的遊戲物件建立Canvas/進而建立Silder(有個坑,建議先行建立好Canvas(先調整引數)/Slider後)整體縮放Canvas大小到需要的位置即可,不然再該畫布下的內容會錯亂,無法正常顯示下面就是引數: 後續再給出專案原
Unity3D 人形血條製作小知識
這幾天用Unity3D做個射擊小遊戲,想做個人形的血條,百思不得其解,後來問了網上的牛牛們,解決了,其實挺簡單的,GUI裡面有個函式DrawTextureWithTexCoords就可以實現圖片的裁剪,很方便,裁剪之後,相信大家就都會操作了,話不多說,貼上程式碼與截圖效果
Unity中UGUI人物血條跟隨的幾種實現方式(一)
昨天在群裡有人在做遊戲的時候遇到了一個坑,就是用UGUI做人物血條跟隨遇到了大坑,今天就來說說如何用UGUI來做人物血條跟隨。 第一種: 把Canvas畫布作為Player的子物體。 首先:佈置一下場
Unity3DRPG人物頭頂血條跟隨
建立血條UI; 建立角色物體,掛載指令碼; 獲得角色位置座標,轉化為螢幕座標。 Vector3 pt = Camera.main.WorldToScreenPoint(new Vector3(t
Unity外掛NGUI製作血條--HUD的基本使用
一.利用NGUI製作 血條。 1.在2d場景中 先拖一個BG進去。然後建立一個 sprite。修改名字為LifeBar. 在inspector面板中 uisprite屬性值。如下: 2.在lifebar下建立一個sprite,用於當做血的顯示。 屬性修改同上。把顏色
Unity開發:血條跟隨的實現
之前在網上看了很多人物血條跟隨的方式,都不是很順手..包括各種偏移的計算啊什麼的都不是很完美,於是仔細去看了一篇RectTransform屬性的詳解,又瞭解了一下座標轉換的原理,最終得到了一個比較完美而
unity3d製作弧形血條,魔條
第一步,我們需要先準備好一張弧形素材圖片資源: 第二步,把該資源在unity中按照如下設定: 第三步,在unity中建立一個image,並且把資源拖給該image,就變為如下所示 需要注意點選一下set native size,圖片才會顯示真實大小 第四步,給該圖片新增一
Unity3d NGUI的使用(五)(UISprite&UISlider製作彩色血條)
使用NGUI可以製做出彩色角色血條,載入進度條 製作血條時,可以根據血的多少顯示不同的顏色,可以對UISider與UILabel進行簡單的封裝 UISprite:NGUI精靈圖片元件 Atlas
Unity3D學習之(血條的製作以及聲音的新增)
歡迎大家光臨我的部落格!知識點: 1、為了讓敵人和主角保持一定的距離,我們運用的是Vector3.Distance( )方法,Distance這個方法代表了兩點之間的距離,呼叫這個方法可以讓敵方在一定距離之內追蹤我的位置。 2、接下來是血條的製作,首先這個用到了G
unity3d學習筆記(十九)--ngui製作人物頭頂的頭像和血條
本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 http://blog.csdn.net/lzhq1982/article/details/18793479 先上張圖,自己做的一個demo。 這裡的人物頭像和血條是在3d世界生成的,所以
NGUI名字跟隨、傷害顯示、血條和miss效果的製作
這裡講一下類似於魔獸爭霸裡面的血條、傷害和miss效果的製作, 這個涉及到了NGUI裡面的HUDText,它是NGUI的擴充套件,有效的只有兩個指令碼。 其中一個是UIFollowTarget、另外一個是HUDText。 UIFollowTarget指令碼所在的物體在
Unity3d 三種血條的製作
方法一:(推薦) 結果:血條跟隨目標物體移動,血條一直面向攝像機 步驟一: 1.製作一個血條(Image)的預設體; 2.在Canvas 中新增一個Plane,作為血條的父物體; 3.(1,2)準備工作做完了,思路:在生成遊戲物體時,生成血條,把遊戲物體的3D座標轉換為螢
Unity3D---使用GUI實現血條的製作
血條的製作有很多的方法,在此介紹使用GUI製作血條的方法,希望對大家有所幫助: using UnityEngine; using System.Collections; public class P
簡單血條UI的製作以及跟隨物體
emmmmm,記錄一下Unity的學習內容。 在Unity中製作一個簡單的血條UI,要求的內容是能夠跟隨物體移動並且擁有距離感。本次製作使用UI裡的Slider將Slider製作好了以後將Canvas的Render Mode如下設定為 World space編寫好指令碼
NGUI研究之3D模型坐標轉2D屏幕坐標-血條
uic bject blank orm 組成 自己 index lan rac ?? 剛好今天有朋友問我,比較典型的樣例就是遊戲裏面人物的血條。原理非常easy就是把3D點換算成2D的點。可是因為NGUI自身是3D所以我們須要先把NGUI下的點轉成2D點。然後在把他轉成
人物血條製作
1.建立一個Canvas,Render Mode設定為World Space(遊戲裡面實際的大小) 2.canvas的大小改為一般的血條大小即可,放在人物的頭頂,canvas要拖放到角色的子層,在canvas裡面建立一個Image,大小和canvas一樣即可。。 3.Source Ima