Chat Room

บทที่ 7.1 การยิงปืนโดย มีลูก กระสุน หรือ projectile เป็นตัวบ่งชี้

วันนี้ผมจะมา สอนสร้างเกม ครับ โดยเราจะมาเริ่มในบทที่ 7.1 เรื่องการยิง

ก่อนอื่นให้เราสร้าง file มาหนึ่ง file ครับนั่นก็คือ เราจะตั้ง class projectile หรือลูกกระสุน

คราวนี้ ให้เราตั้ง class เลยครับ

class GunnerBProjectile extends UDKProjectile;

Defaultproerties
{

    Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
bEnabled=TRUE
    End Object
    Components.Add(MyLightEnvironment)
    begin object class=StaticMeshComponent Name=kason_gunnerB // สามารถเปลี่ยนได้ครับ ไม่ว่าจะเป็น particlesystemcomponent หรือ จะใช้ skeletal ก็ได้
StaticMesh=StaticMesh'WP_BioRifle.Mesh.S_Bio_Blob_01' // รูป model ที่จะเป็น ลูก กระสุน
LightEnvironment=MyLightEnvironment
    end object
    Components.Add(kason_gunnerB)

}

คราวนี้เรามาเชื่อมต่อกับ อาวุธที่ จะใช้ยิงครับ


เรามาเพิ่ม หนึ่ง function กัน

simulated event vector GetPhysicalFireStartLoc(optional vector AimDir)
{
    local SkeletalMeshComponent compo;
    local SkeletalMeshSocket socket;

    compo = SkeletalMeshComponent(Mesh);
    if (compo != none)
    {
socket = compo.GetSocketByName('MussleFlashSocket');
}

if (socket != none)
{
    return compo.GetBoneLocation(socket.BoneName);
}
}




ตัวนี้ ถ้าผมจำไม่ผิด น่าจะเป็น function ที่ช่วยในการบังคับให้ projectile ในการออก หรือพ่น ออกไปใน
socket ที่ตั้งเอาไว้ ครับ

เปลี่ยนประเภท การยิง WeaponFireTypes(0)= ให้เป็น EWFT_Projectile
แล้วก็เพิ่มอีก 1 properties ก็คือ ข้างล่าง
WeaponProjectiles(0)=class'MyGame.SandboxPaintballProjectile'
OK หลังจากนั้น ก็ลองทดสอบ complie แล้วยิงดู






เดี๋ยวผม จะลง video การเขียนให้นะครับ โดยผ่านทาง Youtube Channel DevoursTV ครับ








ไม่มีความคิดเห็น: