VFX UI 滑鼠座標影響VFX效果(4)-Force跟隨滑鼠移動

[簡介]

目前粒子己經會跟隨3D的物件,但需跟隨滑鼠座標,需要用程式去控制,讓滑鼠座標跟隨到3D物件上,才能引起連動讓粒子跟隨。

[目的]

粒子會跟隨滑鼠座標,在系統中的任何時候,粒子都會跟隨移動。

1.先在專案新增一個C# Script,取名為FollowMouse

2.在C# FollowMouse中將以下程式碼貼入。

using UnityEngine;
using System.Collections;
public class FollowMouse : MonoBehaviour
 {
     public float distance = 1.0f;
     public bool useInitalCameraDistance = false;
private float actualDistance;

// Use this for initialization
void Start()
{
    if (useInitalCameraDistance)
    {
        Vector3 toObjectVector = transform.position - Camera.main.transform.position;
        Vector3 linearDistanceVector = Vector3.Project(toObjectVector, Camera.main.transform.forward);
        actualDistance = linearDistanceVector.magnitude;
    }
    else
    {
        actualDistance = distance;
    }
}

// Update is called once per frame
void Update()
{

    Vector3 mousePosition = Input.mousePosition;
    mousePosition.z = actualDistance;
    transform.position = Camera.main.ScreenToWorldPoint(mousePosition);
}
}
來自PushyPixels的範例,Breakfast With Unity: Follow Mouse

3.先點選3D物件(VFXattractiveTarget),再將C#檔案(FollowMouse)拉入Inspector,拉入後再將FollowMouse中的Use Inital Camera Distance打勾。

實作結果如下,粒子會跟隨滑鼠座標而移動。

[小結]

加上VFX的UI看似蠻生動的,下階段可以試著整合按鈕的動畫,以及製作一個簡易的系統頁面,將不同UI 元件加入後,進行效能平衡測試,找到VFX在UI頁面上的效能平衡點。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *