ก่อนอื่นให้เราสร้าง 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 ครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น