[UNITY][C#] Projectile by

31
Jan
0

วันนี้จะมานำเสนอ method สำหรับทำให้ obj เคลื่อนที่แบบ projectile นะครับ โดยใช้สูตรทางฟิสิกส์แบบเป๊ะๆกันเลยครับ


IEnumerator projectile(Transform trans, Vector3 from, Vector3 to, float height, float time)
{
trans.localPosition = from;
yield return null;
float Vx = (to.x - from.x) / time;
float Vy = 2 * height / (0.33f * time);
float A1 = -2f * height / Mathf.Pow(0.33f * time, 2);
float t = 0;
while (t <= 0.33f * time)
{
float deltaTime = Time.deltaTime;
float deltaSx = Vx * deltaTime;
Vy += A1 * deltaTime;
float deltaSy = Vy * deltaTime;
trans.localPosition = new Vector3(trans.localPosition.x + deltaSx, trans.localPosition.y + deltaSy);
t += deltaTime;
yield return null;
}
Vy = 0;
float A2 = -2f * (to.y - from.y - height) / Mathf.Pow(0.67f * time, 2);
while (t <= time)
{
float deltaTime = Time.deltaTime;
float deltaSx = Vx * deltaTime;
Vy -= A2 * deltaTime;
float deltaSy = Vy * deltaTime;
trans.localPosition = new Vector3(trans.localPosition.x + deltaSx, trans.localPosition.y + deltaSy);
t += deltaTime;
yield return null;
}
}

วิธีแก้ไขเพื่อใช้งาน rockmongo by

31
Jan
0

ส่วนใหญ่ปัญหาจะพาไปจบที่ deprecated เนื่องจากอาจจะมีตัว client ใหม่ๆ เข้ามาทดแทน แต่ถ้ายังจำเป็นต้องใช้ก็ขอแนะนำวิธีแก้ไขไว้ดังนี้ครับ

  • หา source ไม่ได้ แนะนำให้ใช้ git clone มาจาก https://github.com/iwind/rockmongo
  • MongoDB deprecated แนะนำให้ใช้ apt-get install php5-mongo แทน
  • ไม่มีรหัสเข้าใช้งาน ให้ไปดูที่ config.php บรรทัด $MONGO["servers"][$i]["control_users"]["admin"] = "admin"; โดย ["admin"] หมายถึง username สามารถเปลี่ยนแปลงได้ = “admin” หมายถึงรหัส สามารถเปลี่ยนได้เช่นเดียวกัน

วิธีติดตั้ง Onesignal plug-in ใน Unity 2017 by

31
Jan
0

แต่ละปีผ่านไป หลายๆ อย่างก็เปลี่ยนแปลง One signal ก็เช่นกัน มีการปรับเปลี่ยนวิธีไปจากเดิม และเนื่องจากไม่อยากไปยุ่งกับ local notification ทางเราเลยใช้ one signal เป็นตัวหลักไปเลย โดยมีขั้นตอนติดตั้งดังนี้

  • ดาวน์โหลด unity package มาจาก https://github.com/OneSignal/OneSignal-Unity-SDK/releases
  • import package เข้าโปรเจค
  • ใส่ code สำหรับ init

OneSignal.StartInit("Your One signal App ID").InFocusDisplaying(OneSignal.OSInFocusDisplayOption.None).HandleNotificationOpened(HandleNotificationOpened).EndInit();
ใส่ App id และ option เมื่อแอพกำลังเปิดใช้งานอยู กรณีนี้เป็น none
OneSignal.IdsAvailable((string id, string token) =>
{
ConfigGame.signalID = id;
});

ใช้สำหรับรับ player id จาก one signal เพื่อส่งข้อความเฉพาะคนได้ เพื่อส่งให้ทาง Server เก็บไว้ใช้ใน backend

OneSignal.ClearOneSignalNotifications();

ไว้เคลียร์คิวทั้งหมดสำหรับผู้เล่นคนนี้เมื่อเข้าใช้งานแอพ เพื่อป้องกันการส่งซ้ำ

การใช้ Effect Outer Glow สร้างเอฟเฟ็คเวทมนตร์ by

31
Jan
0

เมื่อเราวาดภาพตัวละครเสร็จแล้ว เราอยากใส่เอฟเฟ็คจ๊าบๆให้กับตัวละครของเรา เราสามารถทำได้หลายวิธี โดยวิธีง่ายๆอย่างหนึ่งคือ Effect Outer Glow

1 วาดตัวละครโดยคำนึงถึงแสงจากเอฟเฟ็คที่เราจะใส่่ที่กระทบลงบนวัตถุแล้ว จากภาพจะเห็นแสงจากมือที่กระทบลงบนใบหน้าและเสื้อผ้า

sample33a

 

 

2 ใช้สีสว่างวาดเอ็ฟเฟ็คลงบนภาพ โดยคำนึงถึงไดเร็คชั่นของภาพ

sample33b

 

 

 

3 เปิดเลเยอร์ใหม่ใต้เลเยอร์ในข้อ 2 ใช้สีที่เราต้องการให้เป็นแสง ในที่นี้คือสีฟ้า วาดเอฟเฟคลงไปอีกชั้นหนึ่ง

sample33c1

sample33c2

 

4 ใส่ Effect Outer Glow ให้กับเลเยอร์ทั้ง 2 กำหนด blend mode เป็น overlay กำหนด opacity และ size พองาม

sample33d

 

5 เติมเส้นแสงเล็กๆและลูกแสงเพื่อเพิ่มลูกเล่นให้กับเอฟเฟ็ค ใส่ Effect Outer Glow พองาม

sample33e

 

6 งดงาม

sample33f

 

วิธีทำรูปขอบโค้ง ps by

31
Jan
0

1.เปิดรูปที่ทำขึ้นมา จากนั้นก็อปปี้เลเยอร์รูปเดิมทิ้งไว้(เผื่อแก้) จากนั้นกดปุ่มM ลากเป็นกรอบรอบรูป(ตามภาพ)
01

2.จากนั้นไปที่ Select > Modify > Smooth ใส่ค่าลงไป(ตามภาพ)
02

3. กลับไปที่ Select > Inverse และกดปุ่มDelete เท่านี้เป็นอันเสร็จพร้อมใช้งาน
03