วิธีการง่ายๆ สำหรับการทำระบบ กลางวัน และกลางคืน (Day & Night) บน Unity 3D ด้วยภาษา C# ใช้หลักการหมุน หรือ Rotate ตัว Directional Light แบบง่ายครับ
Tutorial นี้ง่ายมากใช้ภาษา C# ครับ ส่วน Javascript ก็แปลงเอาง่ายๆ ล่ะกันนะ
ให้สร้างเกมแล้วออกแบบฉากตามสบายครับ
กำหนด Directional Light ตั้งชื่อก็ได้ไม่ตั้งก็ได้ครับให้เป็นตามรูปแบบข้างล่างครับ ตามสะดวก
ใช้ค่า Inspector เดียวกับผมก็ได้ครับ
แสงปรกติก็จะเป็นตามนี้นะครับ
ให้ทำการเลือกที่ Directional Light ครับ สร้าง Scripts C# ลงไปว่า daynight.cs เขียน code ตามนี้
using UnityEngine; using System.Collections; public class GamePlay : MonoBehaviour { // Use this for initialization void Start () { Time.timeScale = 1; } // Update is called once per frame void Update () { transform.Rotate(Vector3.right * (Time.deltaTime*100)); } }
ในตัวอย่างนั้น ผมเร่งความเร็วในการหมุนแกน Directional Light หรือหมุนแกน x ของพระอาทิตย์ให้เร็ว โดยการ คูณ 100 เท่าเข้าไปครับ
transform.Rotate(Vector3.right * (Time.deltaTime*100));
หากลองทดสอบจะเห็นว่าแกน แสง จะหมุนรอบตัวเอง
จบ ตัวอย่างนี้ ง่ายๆ แต่หลายคนคิดไม่ถึงว่าไหม? สำหรับสาย Javascript ก็
#pragma strict function Start () { Time.timeScale = 1; } function Update () { transform.Rotate(Vector3.right * (Time.deltaTime*100)); }
ตามนั้นจ้า