[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;
}
}

[Unity] การเล่นวีดิโอใน Mobile App by

31
Jan
0

การเล่นวีดิโอในแอ็พของเรานั้นถ้าเล่นแบบเต็มจอแล้วทำได้ไม่ยากเลยครับ เพียงใช้ฟังก์ชั่น Handheld.PlayFullScreenMovie ซึ่งรับพารามิเตอร์ 4 ตัว คือ

  • Path หรือ Url ของไฟล์วีดิโอของเรา *บังคับมี*
  • สีของ Background
  • แผงควบคุม
    จะมีให้เลือก 4 แบบ คือ

    • FullScreenMovieControlMode.Full โชว์แผงควบคุมทั้งหมด
    • FullScreenMovieControlMode.Minimal โชว์แผงควบคุมแบบน้อยที่สุด
    • FullScreenMovieControlMode.CancelOnInput ไม่โชว์แผงควบคุม และหยุดวีดิโอเมื่อแตะ
    • FullScreenMovieControlMode.Hidden ไม่โชว์แผงควบคุม
  • การปรับขนาด
    จะมีให้เลือก 4 แบบ คือ

    • FullScreenMovieScalingMode.None ไม่ทำการปรับขนาดใดๆ
    • FullScreenMovieScalingMode.AspectFit ปรับยึดอัตราส่วนเดิมโดยให้ด้านใดด้านหนึ่งของวีดิโอที่ยาวกว่าชิดขอบ
    • FullScreenMovieScalingMode.AspectFill ปรับยึดอัตราส่วนเดิมโดยให้ด้านใดด้านหนึ่งของวีดิโอที่สั้นกว่าชิดขอบ
    • FullScreenMovieScalingMode.Fill ปรับเต็มจอโดยไม่ยึดอัตราส่วนเดิม

ตัวอย่างเช่น
Handheld.PlayFullScreenMovie(ConfigGame.ImageUrl + “idol.mp4″, Color.black, FullScreenMovieControlMode.Full, FullScreenMovieScalingMode.AspectFit);

ผลลัพธ์ที่ได้



style="display:block"
data-ad-client="ca-pub-5841101416947980"
data-ad-slot="5395238750"
data-ad-format="auto">



style="display:block"
data-ad-client="ca-pub-5841101416947980"
data-ad-slot="8429430352"
data-ad-format="auto">



style="display:block"
data-ad-client="ca-pub-5841101416947980"
data-ad-slot="9906163557"
data-ad-format="auto">



style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5841101416947980"
data-ad-slot="8289829557">



style="display:inline-block;width:468px;height:60px"
data-ad-client="ca-pub-5841101416947980"
data-ad-slot="9766562755">

วิธีแก้ไขเพื่อใช้งาน 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

 

กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ