[UNITY][Particle] Particle ที่เล่น Particle เดิมซ้ำๆ แต่ Random จุดเกิด by tosawat
Jun0
เคยไหม ที่อยากให้ Particle เกิดแบบ Random จุดเกิด แต่มีปริมาณตามที่เรากำหนดไว้ตลอด ยกตัวอย่างเช่น ทำ Particle สำหรับ ท่าโจมตีของ Unit ตัวหนึ่งซึ่งเป็นมือปืน เวลาใช้ท่าไม้ตาย Unit ตัวนี้จะโจมตี 6 ครั้งแบบยิงกราด อะไรประมาณนั้น วันนี้จะมานำเสนอ Code ที่จะทำให้ชีวิตง่ายขึ้นครับ
ขั้นแรก เอา Code ไปก่อนเลยครับ
using UnityEngine;
using System;
using System.Collections;
public class ParticleRandomize : MonoBehaviour
{
[Serializable]
public class Range
{
public float Min;
public float Max;
}
public GameObject Particle;
public int Count;
public float Time;
public Range X;
public Range Y;
public float RandomDistancePercent = 100f;
void Start()
{
float TimePerOnce = Time / Count;
Vector2 Distance = new Vector2(Mathf.Abs(X.Min – X.Max) * RandomDistancePercent / 100 / 2, Mathf.Abs(Y.Min – Y.Max) * RandomDistancePercent / 100 / 2);
Vector2 lastPosition = Vector3.zero;
for (int i = 0; i 100)
{
break;
}
} while ((lastPosition.x + Distance.x > x && x > lastPosition.x – Distance.x) && (lastPosition.y + Distance.y > y && y > lastPosition.y – Distance.y));
lastPosition = new Vector2(x, y);
_particle.transform.parent = transform;
_particle.transform.localPosition = new Vector2(x, y);
});
}
}
}
ต่อมาเราก็ AddComponent ให้ Particle ที่เราอยากให้มันเล่นซ้ำๆนะครับ ตัวอย่าง
[Lua] Make a function return many parameters and a function with optional arguments by Ziah
Mar0
Sorry, this entry is only available in ไทย.
[Flex] How to change font in run time environment by Ziah
Feb0
Sorry, this entry is only available in ไทย.
Unity Debugging(2) by tosawat
Jan0
เคยไหม เวลาที่อยากให้ Object บางตัว โผล่ออกมา หรือหายไป แต่มันดันไม่เป็นไปอย่างที่เราอยากให้เป็น บางทีมันดันมี Object ที่อยากให้หายไปตอนนี้แต่มันดันโผล่มา หรือไม่ยอมหายไป เอ้า ทีนี้จะทำยังไงล่ะ!! วันนี้เลยจะมาบอกวิธีการที่ใช้หาว่า Object ตัวนั้นๆ มันหายไป หรือโผล่มาตอนไหนบ้าง แล้วถูกสั่งให้หายไปหรือ โผล่มาโดย Code บรรทัดไหนเป็นคนสั่ง
1. ก่อนอื่นเลยให้สร้าง Script แล้วใส่ Method ตามนี้