แสดงบทความที่มีป้ายกำกับ 3d แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ 3d แสดงบทความทั้งหมด

วันเสาร์ที่ 17 มกราคม พ.ศ. 2558

แชร์โค้ด Unity : การตรวจจับวัตถุของ BOT

โค้ดนี้ได้ทำคลิปสอนวิธีการใช้งานคร่าวๆไว้ใน Youtube ครับ
ตัวโค้ดค่อนข้างยาวเลยขอแปะรูปไว้ให้อ่านกันง่ายๆนะครับ



สำหรับวิธีการใช้งาน
(ตอนก้อบโค้ดไปวางอย่าลืมเปลี่ยนชื่อไฟล์นะ)



using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class botVision : MonoBehaviour 
{
    public float range = 5;
    public float angleRange = 45;
    public int resolution = 10;

    public List<GameObjectseeingObj = new List<GameObject>();

    float angle = 0;

    void Update () 
    {
        seeingObj.Clear();

        for (int ct1 = 0ct1 < resolutionct1++)
        {
            for (int ct2 = -1ct2 <= 1ct2 += 2)
            {
                int oldListLen = seeingObj.Count;
                bool[] existListHash = new bool[oldListLen];

                angle = angleRange / resolution * ct1 * ct2;
                Ray ray = new Ray(transform.position,new Vector3(Mathf.Sin((angle + transform.eulerAngles.y) * Mathf.Deg2Rad), 0Mathf.Cos((angle + transform.eulerAngles.y) * Mathf.Deg2Rad)));
                RaycastHit hitData;

                if (Physics.Raycast(ray,out hitData,range))
                {
                    if (hitData.collider.gameObject != gameObject)
                        if(seeingObj.Contains(hitData.collider.gameObject) == false)
                            seeingObj.Add(hitData.collider.gameObject);
                }
            }
        }
    }
    
    //DEBUGGING ZONE//
    void OnDrawGizmos()
    {
        for (int ct1 = 0ct1 < resolutionct1++)
        {
            for (int ct2 = -1ct2 <= 1ct2 += 2)
            {
                angle = angleRange / resolution * ct1 * ct2;
                Gizmos.color = Color.yellow;
                Gizmos.DrawRay(transform.positionrange * new Vector3(Mathf.Sin((angle + transform.eulerAngles.y) * Mathf.Deg2Rad), 0Mathf.Cos((angle + transform.eulerAngles.y) * Mathf.Deg2Rad)));
            }
        }
    }
}


#6 สารบัญแชร์โค้ด

วันเสาร์ที่ 12 เมษายน พ.ศ. 2557

การปรับมิติของกล้องสำหรับเกม 2D และ 3D



เมื่อพูดถึงกราฟฟิกของเกม เรามักจะแบ่งเป็น

  • กราฟฟิกที่เหมือนวาดรูปขึ้นมา เรียกว่า 2D เช่น FlappyBird - GravityGuy - CandyCrushSaga
  • กราฟฟิกที่มีมิติมีความลึกของฉากเเละตัวละคร เรียกว่า 3D เช่น TitanFall - MineCraft
  • แต่ถ้าบางอย่างก็เป็น 2D แต่บางอย่างเป็น 3D อาจจะเรียกว่า 2.5D ก็ได้ เช่น A.R.E.S - FruitNunja

วันอังคารที่ 18 กุมภาพันธ์ พ.ศ. 2557

สอน blender : การทำ 3D animation ง่ายๆด้วย Blender [สำหรับการใช้งาน root motion ใน unity]



สอนวิธีการใส่แอนิเมชั่นให้กับ cube object ในโปรแกรม Blender
เป็นคลิปย่อยของคลิปสอนการทำ root motion ใน unity