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

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

แชร์โค้ด Unity : แสดงผลกราฟคลื่นเสียง (Sound Wave Visualizer) - AudioSource.GetOutputData()



พอดีช่วงนี้กำลังทำโปรเจคโครงงานวิชาฟิสิกส์เกี่ยวกับคลื่นเสียงอยู่
ผมเลยเขียนโปรแกรมด้วย Unity เพื่อใช้ประโยชน์ในการนำเสนองาน
ซึ่งผมจะเอาส่วนนึงมาแชร์ เป็นการนำข้อมูลของกระแสเสียงที่ออกผ่านลำโพง
( ดึงค่าจาก audio.GetOutputData() ) มาแสดงผลเป็นกราฟของเสียง
ด้วย Component LineRenderer

การใช้งาน เดี๋ยวจะทำคลิปตามทีหลังนะครับ
ที่จริงลองไปเล่นดูก่อนได้ครับ มีตัวแปรให้ปรับสองสามตัว
จะเป็นพวกขนาด visualizer และก็ความละเอียดของกราฟครับ

ส่วนหน้าตาของโค้ดก็ประมาณนี้ครับ
รายละเอียดติดตามภายในคลิปนะครับ(เสร็จแล้วจะลงเพจอีกที)


รายละเอียดเพิ่มเติมในคลิปครับ


โค้ดดิบสำหรับก้อบ

using UnityEngine;
using System.Collections;

public class soundWave : MonoBehaviour
{
    public LineRenderer lineRend;
    public int quality = 50;
    public float len = 25;
    public float amplitude = 20;
    
    void Update () 
    {
        float[] soundBit = new float[quality];
        lineRend.SetVertexCount(quality);
        
        if (audio.isPlaying)
        {
            for (int i = -quality / 2i < quality / 2i++)
            {
                audio.GetOutputData(soundBit0);
                lineRend.SetPosition(i + quality / 2new Vector3(i * (float)((float)len / (float)quality), soundBit[i + quality / 2] * amplitude0));
            }
        }
    }
}


วันอาทิตย์ที่ 4 พฤษภาคม พ.ศ. 2557

สอน Unity : วิธีลงลายเซ็น keystore ให้กับ apk สำหรับลงขายใน Google Play



Android เป็นระบบ OS ที่มีแอพเยอะมาก มากจนเสี่ยงกับมัลแวร์ที่แฝงมากับแอพ
Android เลยประกาศว่า แอพพลิเคชั่นบนแอนดรอยทุกแอพฯ
จะต้องถูกเซ็นด้วยรหัสรูปแบบนึงที่เรียกว่า keystore certification
ใช้เพื่อป้องกันแอพปลอมที่ใช้ชื่อ และ package name เดียวกัน เพราะใครๆก็ตั้งเองได้ทั้งนั้น

วันศุกร์ที่ 14 กุมภาพันธ์ พ.ศ. 2557

สอน unity : เช็คและควบคุมวัตถุที่ถูกยิงด้วย RayCastHit สำหรับ FPS



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

วันเสาร์ที่ 8 กุมภาพันธ์ พ.ศ. 2557

สอน unity : การเช็ควัตถุในระยะด้วย RayCast



การเช็ควัตถุที่มี collider ในระยะที่กำหนด สำหรับการเคลื่อนที่หรือตอบสนองตามสภาพเเว้ดล้อม 
เช่น ระยะมองเห็นของมอนสเตอร์หรือ AI