国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

這篇具有很好參考價值的文章主要介紹了【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、前言

嗨,大家伙,我是新發(fā)。
好久不見,這是2022年第一篇博客,今天有同學私信我,問我在Unity中如何實現(xiàn)這種地球輻射線的效果,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
這一看,我就想到了GitHub主頁的地球射線,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
那么,今天就來講講如何實現(xiàn)這個效果吧~
本文最終效果如下:
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
本文工程源碼見文章末尾~

二、實現(xiàn)思路

我們先把問題進行拆解,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

現(xiàn)在挨個問題進行思考與解答。

1、曲線的本質(zhì)是什么?

一條曲線,它本質(zhì)上是由N條直線段組成的,當N足夠大的時候,曲線就會看起來很平滑,我用Blender給大家演示一下,【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

2、如何繪制曲線?

我在之前的一些篇文章中有講過使用LineRenderer來繪制曲線,這里我們是用LineRenderer來實現(xiàn)就好啦。
往期相關文章:
《【游戲開發(fā)解答】教你在Unity中使用LineRenderer制作行軍螞蟻線(行軍 | 虛線 | 路徑 | 線段)》
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
《【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)水果忍者切水果的刀痕效果教程(兩種實現(xiàn)方式:TrailRenderer、LineRenderer)》
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
《【游戲開發(fā)實戰(zhàn)】TapTap物理畫線游戲,教你使用Unity實現(xiàn)2D物理畫線功能》
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

3、如何構造曲線的點?

上面我們說使用LineRenderer來繪制曲線,而LineRenderer需要我們告訴它點的坐標,那么我們?nèi)绾蝸順嬙烨€的點坐標呢?常用的曲線有B樣條、貝塞爾曲線等,關于貝塞爾曲線,我之前也有專門寫過文章,
《【游戲開發(fā)進階】玩轉(zhuǎn)貝塞爾曲線,教你在Unity中畫Bezier貝塞爾曲線(二階、三階),手把手教你推導公式》
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
這里我們就用貝塞爾曲線即可,這里我打算使用三階貝塞爾曲線,三階貝塞爾曲線需要知道四個點坐標,現(xiàn)在問題變成了我們?nèi)绾未_定這四個點的坐標,其中起始點和終止點是在球的表面選取,中間兩個點我們通過一些幾何運算來獲得,現(xiàn)在問題變成了如何在球的表面獲取兩個點。

4、如何在球的表面選取兩個點?

這是一個幾何問題,我們已知球的球心坐標,想要在球的表面隨機選取兩個點,我們只需要在球心處隨機兩個方向向量,然后從球心出發(fā),分別沿著這兩個方向走一個半徑長度的距離即可到達球的表面,畫個圖方便大家理解,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
寫成代碼大概是這樣子:

// 球心坐標
Vector3 centerPos = Vector3.zero;
// 球半徑
float radius = 1;
// 隨機一個單位向量作為方向向量
Vector3 randomDir = new Vector3(Random.Range(-1f, 1f), 
						Random.Range(-1f, 1f), 
						Random.Range(-1f, 1f)).normalized;
// 球表面的點				
Vector pos = centerPos + randomDir * radius;

我們使用上面的方法分別取到球表面的兩個點即可。

上面我們說使用三階貝塞爾曲線,現(xiàn)在還差中間兩個控制點的坐標,我們可以用下面這樣的方法來計算控制點的坐標:先求出球表面兩個點的連線的中點,然后從球心指向這個中點,得到一個方向向量,再分別從點1點2朝這這個方向向量走一段距離,得到控制點1控制點2的坐標,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

5、如何讓曲線有動畫效果?

我們可以看到曲線是有一個從起始點飛向目標點的效果的,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
這個我們可以在腳本中動態(tài)設置LineRenderer的點來達到這個效果。

三、具體實操

講完了理論,下面我們就來具體實操吧~

1、創(chuàng)建Unity工程

工程名就叫UnityEarthRay好了,工程模板使用3D,點擊創(chuàng)建,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

2、制作宇宙天空盒
2.1、天空盒貼圖

我們先去找6張宇宙天空盒的圖片,導入到工程目錄中,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

2.2、天空盒材質(zhì)球

創(chuàng)建一個材質(zhì)球,重命名為Skybox,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

設置材質(zhì)球的ShaderSkybox/6 Sided,并設置六個面的貼圖,如下,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

2.3、設置場景天空盒

Skybox材質(zhì)球拖入Scene窗口中,【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
我們也可以通過點擊菜單Window / Rendering / Lighting,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
然后點擊Environment標簽頁,設置Skybox Material來設置天空盒,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
如果想改回原來的天空盒,只需把Skybox Material設置為默認的天空盒材質(zhì)即可,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

3、制作地球
3.1、創(chuàng)建球體

Hierarchy窗口空白處右鍵鼠標,點擊菜單3D Object / Sphere,創(chuàng)建一個球體,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
重命名為Earth,作為地球的外形,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

3.2、地球貼圖

去找一下地球的貼圖,導入工程目錄中,我找了云層貼圖、地球貼圖、燈光貼圖,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

3.3、制作地球材質(zhì)球

創(chuàng)建一個材質(zhì)球,重命名為Earth
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
設置材質(zhì)球的ShaderStandard,設置Albedo貼圖,調(diào)節(jié)Matallic(金屬度)和Smoothness(光滑度),開啟Emission(自發(fā)光),并設置發(fā)光貼圖,設置發(fā)光顏色為橘黃色,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

然后把材質(zhì)球賦值給模型,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
此時效果,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

3.4、制作云層

同理,我們在Earth子節(jié)點下再創(chuàng)建一個球體,重命名為Clouds,如下

【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
調(diào)節(jié)Clouds的縮放,讓它比Earth大一點點,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

創(chuàng)建一個材質(zhì)球,重命名為Clouds,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
設置材質(zhì)球的ShaderStandard,設置Rendering ModeTransparent(透明),設置Albedo貼圖,設置顏色值的A通道為0,調(diào)節(jié)Matallic(金屬度)和Smoothness(光滑度),開啟Emission(自發(fā)光),并設置發(fā)光貼圖,設置發(fā)光顏色為灰色,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
Clouds材質(zhì)球賦值給Clouds節(jié)點,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
此時效果
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

4、制作LineRenderer
4.1、創(chuàng)建LineRenderer

Earth節(jié)點右鍵鼠標,點擊菜單Effects / Line,創(chuàng)建一個LineRenderer,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
此時可以看到場景中多了一條粗粗的白色短線,它就是LineRenderer本君了,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

4.2、調(diào)節(jié)寬度

我們可以調(diào)節(jié)一下它的寬度,讓它細一點,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

4.3、設置材質(zhì)球

我們可以給他創(chuàng)建一個材質(zhì)球,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

5、Line腳本:曲線邏輯

創(chuàng)建一個C#腳本,重命名為Line,編寫曲線的邏輯代碼,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
首先我們封裝一個三階貝塞爾曲線的函數(shù),如下

注:這里三階貝塞爾曲線代碼看不懂的建議先看我之前的這篇文章,《【游戲開發(fā)進階】玩轉(zhuǎn)貝塞爾曲線,教你在Unity中畫Bezier貝塞爾曲線(二階、三階),手把手教你推導公式》

// Line.cs

// 三階貝塞爾曲線
private Vector3 cubicBezier(Vector3 a, Vector3 b, Vector3 c, Vector3 d, float t)
{
    Vector3 aa = a + (b - a) * t;
    Vector3 bb = b + (c - b) * t;
    Vector3 cc = c + (d - c) * t;

    Vector3 aaa = aa + (bb - aa) * t;
    Vector3 bbb = bb + (cc - bb) * t;
    return aaa + (bbb - aaa) * t;
}

接著我們定義曲線的最大點數(shù),

/// <summary>
/// 曲線最大點數(shù)
/// </summary>
public int MAX_FRAG_CNT = 100;

聲明一個List用于存儲點坐標

private List<Vector3> posList = new List<Vector3>();

我們聲明一個lineRenderer成員,并在Awake中獲取它,

[RequireComponent(typeof(LineRenderer))]
public class RadiationLine : MonoBehaviour
{
    private LineRenderer lineRenderer;
	...
	
	void Awake()
    {
        lineRenderer = GetComponent<LineRenderer>();
    }
	
	...
}

封裝一個繪制曲線的方法,如下

// Line.cs

/// <summary>
/// 繪制曲線
/// </summary>
/// <param name="fromPos">起始坐標</param>
/// <param name="ctrlPoint1">控制點1</param>
/// <param name="ctrlPoint2">控制點2</param>
/// <param name="toPos">目標坐標</param>
public void DrawRay(Vector3 fromPos, Vector3 ctrlPoint1, Vector3 ctrlPoint2, Vector3 toPos)
{
    posList.Clear();
    for (int i = 0; i <= MAX_FRAG_CNT; ++i)
    {
        posList.Add(cubicBezier(fromPos, ctrlPoint1, ctrlPoint2, toPos, (float)i / MAX_FRAG_CNT));
        lineRenderer.positionCount = posList.Count;
    }
    lineRenderer.SetPositions(posList.ToArray());
}

Line腳本掛到Line節(jié)點上,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

6、Earth腳本:地球邏輯

創(chuàng)建一個C#腳本,重命名為Earth,編寫地球邏輯代碼,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
代碼很簡單,這里就不拆開講解了,我都有寫注釋,

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 地球邏輯
/// </summary>
public class Earth : MonoBehaviour
{
    private Transform selfTrans;
    // 曲線
    public Line line;


    void Start()
    {
        selfTrans = transform;
        StartCoroutine(FireLine());
    }

    void Update()
    {
        // 地球自轉(zhuǎn)
        selfTrans.Rotate(Vector3.up * Time.deltaTime, Space.Self);
    }

    /// <summary>
    /// 發(fā)射輻射射線
    /// </summary>
    /// <returns></returns>
    IEnumerator FireLine()
    {
        this.line.gameObject.SetActive(false);
        while (true)
        {
            // 循環(huán)生成曲線,這里只是演示效果,我就不是用對象池了
            var line = Instantiate(this.line);
            line.gameObject.SetActive(true);
            line.transform.SetParent(selfTrans);

            // 半徑
            var radius = selfTrans.localScale.x / 2f;

            // 在地球表面隨機一個起始點
            var from = selfTrans.position + new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)).normalized * radius;

            // 在地球表面隨機一個終點
            var to = selfTrans.position + new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)).normalized * radius;
            var center = (from + to) / 2f;
            // 控制點1
            var ctrlPoint1 = from + (center - selfTrans.position).normalized * (from - to).magnitude * 0.6f;
            // 控制點2
            var ctrlPoint2 = to + (center - selfTrans.position).normalized * (from - to).magnitude * 0.6f;

            line.DrawRay(from, ctrlPoint1, ctrlPoint2, to);
            // 隨機一個時間后銷毀曲線
            Destroy(line.gameObject, Random.Range(4, 7));
            // 隨機等待一個事件
            yield return new WaitForSeconds(Random.Range(0.3f, 2f));
        }
    }
}

Earth腳本掛到Earth節(jié)點上,并賦值Line成員,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

7、運行效果

運行Unity,基本的效果已經(jīng)出來了,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

四、動態(tài)效果

1、Line腳本:動態(tài)效果

我們要讓曲線有動態(tài)的效果,把原來的DrawRay改成協(xié)程,動態(tài)設置點的坐標,如下,

// Line.cs

/// <summary>
/// 繪制曲線
/// </summary>
/// <param name="fromPos">起始坐標</param>
/// <param name="ctrlPoint1">控制點1</param>
/// <param name="ctrlPoint2">控制點2</param>
/// <param name="toPos">目標坐標</param>
public IEnumerator DrawRay(Vector3 fromPos, Vector3 handPos1, Vector3 handPos2, Vector3 toPos)
{
    for (int i = 0; i <= MAX_FRAG_CNT; ++i)
    {
        posList.Clear();
        for (int j = 0; j <= i; ++j)
        {
            posList.Add(cubicBezier(fromPos, handPos1, handPos2, toPos, (float)j / MAX_FRAG_CNT));
        }
        lineRenderer.positionCount = posList.Count;
        lineRenderer.SetPositions(posList.ToArray());
        yield return new WaitForSeconds(0.02f);
    }

    yield return new WaitForSeconds(2);

    for (int i = 0; i <= MAX_FRAG_CNT; ++i)
    {
        posList.Clear();
        for (int j = i; j <= MAX_FRAG_CNT; ++j)
        {
            posList.Add(cubicBezier(fromPos, handPos1, handPos2, toPos, (float)j / MAX_FRAG_CNT));
        }
        lineRenderer.positionCount = posList.Count;
        lineRenderer.SetPositions(posList.ToArray());
        yield return new WaitForSeconds(0.001f);
    }
    Destroy(gameObject);
}

改下Earth腳本中的調(diào)用,如下

// Earth.cs

/// <summary>
/// 發(fā)射輻射射線
/// </summary>
/// <returns></returns>
IEnumerator FireLine()
{
	this.line.gameObject.SetActive(false);
	while (true)
	{
  		...
  		// 啟動協(xié)程
        StartCoroutine(line.DrawRay(from, ctrlPoint1, ctrlPoint2, to));

        // 隨機等待一個事件
        yield return new WaitForSeconds(Random.Range(0.1f, 0.5f));
   }
}
2、運行效果

運行效果如下,可以,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

五、加點粒子特效

制作個粒子效果,
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
包裝成預設,掛到Line節(jié)點下,作為起始點和目標點的特效,如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)
Line腳本中加上粒子控制的邏輯,

// Line.cs

public Transform startPoint;
public Transform endPoint;

/// <summary>
/// 繪制曲線
/// </summary>
/// <param name="fromPos">起始坐標</param>
/// <param name="ctrlPoint1">控制點1</param>
/// <param name="ctrlPoint2">控制點2</param>
/// <param name="toPos">目標坐標</param>
public IEnumerator DrawRay(Vector3 earthPos, Vector3 fromPos, Vector3 handPos1, Vector3 handPos2, Vector3 toPos)
{
    // 起始位置粒子
    startPoint.gameObject.SetActive(true);
    startPoint.forward = fromPos - earthPos;
    startPoint.localPosition = fromPos + startPoint.forward * 0.01f;
    for (int i = 0; i <= MAX_FRAG_CNT; ++i)
    {
        posList.Clear();
        for (int j = 0; j <= i; ++j)
        {
            posList.Add(cubicBezier(fromPos, handPos1, handPos2, toPos, (float)j / MAX_FRAG_CNT));
        }
        lineRenderer.positionCount = posList.Count;
        lineRenderer.SetPositions(posList.ToArray());
        yield return new WaitForSeconds(0.02f);
    }

    // 目標位置粒子
    endPoint.gameObject.SetActive(true);
    endPoint.forward = toPos - earthPos;
    endPoint.localPosition = toPos + endPoint.forward * 0.01f;
    yield return new WaitForSeconds(2);
    startPoint.gameObject.SetActive(false);
    for (int i = 0; i <= MAX_FRAG_CNT; ++i)
    {
        posList.Clear();
        for (int j = i; j <= MAX_FRAG_CNT; ++j)
        {
            posList.Add(cubicBezier(fromPos, handPos1, handPos2, toPos, (float)j / MAX_FRAG_CNT));
        }
        lineRenderer.positionCount = posList.Count;
        lineRenderer.SetPositions(posList.ToArray());
        yield return new WaitForSeconds(0.001f);
    }
    Destroy(gameObject);
}

最終運行效果如下
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

六、工程源碼

本文工程我已上傳到GitCode,感興趣的同學可自行下載學習,
地址:https://gitcode.net/linxinfa/UnityEarthRay
注:我使用的Unity版本是2021.1.7.f1c1
【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)

七、完畢

好了,就寫到這里吧。
我是新發(fā),https://blog.csdn.net/linxinfa
一個在小公司默默奮斗的Unity開發(fā)者,希望可以幫助更多想學Unity的人,共勉~文章來源地址http://www.zghlxwxcb.cn/news/detail-459138.html

到了這里,關于【游戲開發(fā)實戰(zhàn)】Unity實現(xiàn)類似GitHub地球射線的效果(LineRenderer | 貝塞爾曲線)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • flutter開發(fā)實戰(zhàn)-實現(xiàn)自定義按鈕類似UIButton效果

    flutter開發(fā)實戰(zhàn)-實現(xiàn)自定義按鈕類似UIButton效果 最近開發(fā)過程中需要實現(xiàn)一下UIButton效果的flutter按鈕,這里使用的是監(jiān)聽手勢點擊事件。 GestureDetector屬性定義 由于屬性太多,我們實現(xiàn)onTapDown、onTapUp、onTapCancel、onTap。 實現(xiàn)自定義按鈕類似,我們實現(xiàn)onTapDown、onTapUp、onTapCance

    2024年02月14日
    瀏覽(28)
  • flutter開發(fā)實戰(zhàn)-flutter實現(xiàn)類似iOS的Alert提示框與sheet菜單效果

    flutter開發(fā)實戰(zhàn)-flutter實現(xiàn)類似iOS的Alert提示框與sheet菜單效果

    flutter開發(fā)實戰(zhàn)-flutter實現(xiàn)類似iOS的Alert提示框與sheet菜單效果 在開發(fā)過程中,經(jīng)常使用到提示框Dialog,與sheet,使用到了flutter的showDialog與showModalBottomSheet 我這里類似alert彈窗直接調(diào)用 flutter 中提供的showDialog()函數(shù)顯示對話框。 我這里類似Sheet底部彈窗調(diào)用 flutter 中提供的show

    2024年02月16日
    瀏覽(23)
  • 【unity項目實戰(zhàn)】3DRPG游戲開發(fā)07——其他詳細的設計

    參考原視頻鏈接: 【視頻】:https://space.bilibili.com/370283072 注意 :本文為學習筆記記錄,推薦支持原作者,去看原視頻自己手敲代碼理解更加深入

    2024年02月05日
    瀏覽(21)
  • Unity手機游戲開發(fā):從搭建到發(fā)布上線全流程實戰(zhàn)

    Unity手機游戲開發(fā):從搭建到發(fā)布上線全流程實戰(zhàn)

    前言: 技術書籍是學習技術知識的重要資源之一。讀技術書可以幫助我們學習新技能和知識,技術書籍提供了可靠的、全面的信息,幫助我們快速學習新技能和知識。同時技術書籍有助于保持你的競爭力,因為它們提供了最新的技術知識和實踐。這在當今快速發(fā)展的技術領域

    2024年01月22日
    瀏覽(30)
  • 【Unity】AI實戰(zhàn)應用——Unity接入ChatGPT和對游戲開發(fā)實際應用的展望

    【Unity】AI實戰(zhàn)應用——Unity接入ChatGPT和對游戲開發(fā)實際應用的展望

    GPT for unity插件地址:?GitHub - sunsvip/ChatGPTForUnity: ChatGPT for unity 用法: 打開Unity PackageManager界面. Add package from git URL 粘貼插件地址添加?https://github.com/sunsvip/ChatGPTForUnity.git ———————————————————————————————————— 幾個資本大佬花錢讓一群

    2023年04月08日
    瀏覽(27)
  • 【Unity】AI實戰(zhàn)應用——Unity接入GPT和對游戲開發(fā)實際應用的展望

    【Unity】AI實戰(zhàn)應用——Unity接入GPT和對游戲開發(fā)實際應用的展望

    GPT for unity插件地址:?GitHub - sunsvip/ChatGPTForUnity: ChatGPT for unity 用法: 打開Unity PackageManager界面. Add package from git URL 粘貼插件地址添加?https://github.com/sunsvip/ChatGPTForUnity.git ———————————————————————————————————— 幾個資本大佬花錢讓一群

    2024年02月08日
    瀏覽(18)
  • Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體變色,射線末端小圓點

    Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體變色,射線末端小圓點

    目錄 效果展示 前言 獲取按鍵狀態(tài) 射線碰到物體變色 射線末端小圓點 Unity-Pico高級開發(fā)(一)按鍵狀態(tài)獲取,射線碰到物體 ? ? picoXR為Unity提供的Unity XR SDK是基于Unity XR實現(xiàn)的各個功能,針對手柄和頭盔的各個按鍵搖桿事件的獲取,均是采用的Unity XR提供的方法。目前UnityXR只

    2024年04月28日
    瀏覽(342)
  • 【unity】Pico VR 開發(fā)筆記(基礎篇)包括射線

    【unity】Pico VR 開發(fā)筆記(基礎篇)包括射線

    XR Interaction Tooikit 版本 2.3.2 一、環(huán)境搭建 其實官方文檔已經(jīng)寫的很詳細了,這里只是不廢話快速搭建,另外有一項官方說明有誤的,補充說明一下,在開發(fā)工具部分說明 插件安裝——安裝pico的sdk和XR Interaction Tooikit 環(huán)境配置——在場景里添加頭顯和手柄,并進行配置和項目

    2024年02月04日
    瀏覽(34)
  • 【超級入門】Unity如何實現(xiàn)畫射線+射線檢測+NavMeshAgent結(jié)合

    【超級入門】Unity如何實現(xiàn)畫射線+射線檢測+NavMeshAgent結(jié)合

    ? ? ? ?“射線檢測 是在3D數(shù)字世界里選擇某個特定物體常用的一種技術,如在3D、VR游戲中檢測子彈命中敵人情況或者從地上撿起一支槍,這都要用到 射線檢測 , 射線檢測 是在3D數(shù)字空間中選擇虛擬物體的最基本方法。 ” 效果: 我們先創(chuàng)建一個物體,掛腳本 RayTest ,代碼

    2024年02月15日
    瀏覽(20)
  • 【Unity實戰(zhàn)】實現(xiàn)一款簡單的FPS游戲

    實現(xiàn)一款FPS游戲需要以下步驟: 1.創(chuàng)建場景:在Unity中創(chuàng)建3D場景,設定地形、燈光、天氣等環(huán)境,新增角色、武器等道具。 2.角色控制:創(chuàng)建角色,并添加Unity內(nèi)置的角色控制器或自定義控制器腳本,處理角色的移動、射擊、跳躍、動作等。 3.武器系統(tǒng):創(chuàng)建武器模型,添加

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包