1. 程式人生 > >[Unity&特效]怎麼畫圓範圍circle range技能指示器skill indicator

[Unity&特效]怎麼畫圓範圍circle range技能指示器skill indicator

技能指示器skill indicator,攻擊範圍圓圈attack range circle 最基礎的花園

感謝 參考資料 1 的 資料。

設定如下所示

Materials 決定了圓圈的顏色 等外觀屬性

Alignment : View 效果圖如下所示


Alignment : Local 效果圖如下所示


width 數值越小,就越是圓

width 數值越大,對應的半徑 就應該越大,segment 也越多

Cast Shadow: on則產生陰影, off 則不產生陰影

Receive Shadows 的取消勾選,則 其他的陰影不會影響到該 Line Renderer。反之,則會。

-------------------------------------------------------------------------------------------------------------------------

程式碼:

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(LineRenderer))]//該物體需要 LineRenderer元件
public class LineRenderer_Circle : MonoBehaviour
{
    public int segments;//所用的線條(線條越多,畫出來的圓更圓)
    public float xradius;//X軸 半徑
    public float yradius;
    public float zradius;
    LineRenderer line;
    void Start()
    {
        line = gameObject.GetComponent<LineRenderer>();
        line.SetVertexCount(segments + 1);//設定 LineRenderer 元件的花圓線條的數量
        line.useWorldSpace = false;//不使用世界座標
        CreatePoints();
    }//end start
    void CreatePoints()//建立圓
    {
        float x;
        float y = 0;
        float z ;

        float angle = 20f;

        for (int i = 0; i < (segments + 1); i++)
        {
            x = Mathf.Sin(Mathf.Deg2Rad * angle) * xradius;
            z = Mathf.Cos(Mathf.Deg2Rad * angle) * zradius;
            //y = Mathf.Cos(Mathf.Deg2Rad * angle) * yradius;
            line.SetPosition(i, new Vector3(x, y, z));//設定每個點的座標

            angle += (360f / segments);
        }//end for
    }//end create points
}//end class


-------------------------------------------------------------------------------------------------------------------------

參考資料:

1.

2.

3.

4.