บทที่ 7: การใช้โมเดล 3D และการนำเข้าไอเท็ม

ในบทเรียนนี้ นักเรียนจะได้เรียนรู้วิธีการนำเข้าโมเดล 3D จากภายนอกเข้ามาใน Roblox Studio และการสร้างไอเท็มพิเศษในเกม การนำเข้าโมเดล 3D และการปรับแต่งไอเท็มในเกมจะช่วยให้การออกแบบฉากและวัตถุต่าง ๆ ในเกมมีความสมจริงและมีเอกลักษณ์มากขึ้น


7.1 การนำเข้าโมเดล 3D (Importing 3D Models)

การนำเข้าโมเดล 3D จากโปรแกรมออกแบบอื่น ๆ เช่น Blender หรือ Maya เข้ามาใน Roblox Studio ช่วยให้เราสามารถสร้างวัตถุที่ซับซ้อนและละเอียดกว่าเดิม การนำเข้าโมเดล 3D สามารถทำได้ผ่านไฟล์ .obj หรือ .fbx

ขั้นตอนการนำเข้าโมเดล 3D:

  1. สร้างหรือดาวน์โหลดโมเดล 3D ในรูปแบบไฟล์ .obj หรือ .fbx
  2. ใน Roblox Studio ให้ไปที่เมนู View จากนั้นเปิด Asset Manager
  3. คลิกขวาที่ Meshes ใน Asset Manager แล้วเลือก Add Meshes
  4. เลือกไฟล์ 3D ที่ต้องการนำเข้า และกด Open
  5. เมื่อไฟล์ถูกอัปโหลดแล้ว สามารถลากโมเดลมาใช้ในเกมได้ทันที

ตัวอย่างการนำเข้าโมเดล 3D:


local importedModel = game:GetService("ReplicatedStorage"):WaitForChild("My3DModel")  -- อ้างอิงถึงโมเดลที่นำเข้า
importedModel.Parent = game.Workspace  -- เพิ่มโมเดลเข้าใน Workspace

ในตัวอย่างนี้ เราได้นำโมเดล 3D จาก ReplicatedStorage และเพิ่มลงในเกมผ่าน Workspace


7.2 การปรับแต่งไอเท็ม (Item Customization)

หลังจากที่นำเข้าโมเดล 3D แล้ว นักเรียนสามารถปรับแต่งไอเท็ม เช่น ขนาด, สี, และการหมุน เพื่อให้โมเดลตรงกับความต้องการในเกมมากที่สุด

ตัวอย่างการปรับแต่งไอเท็ม:


local importedItem = game.Workspace:WaitForChild("MySword")  -- อ้างอิงไอเท็มดาบ

importedItem.Size = Vector3.new(1.5, 1.5, 1.5)  -- ปรับขนาดของไอเท็ม
importedItem.Position = Vector3.new(0, 5, 0)  -- ปรับตำแหน่งของไอเท็ม
importedItem.Orientation = Vector3.new(45, 0, 0)  -- หมุนไอเท็ม 45 องศาในแกน X

-- เปลี่ยนสีของไอเท็ม
for _, part in pairs(importedItem:GetChildren()) do
    if part:IsA("BasePart") then
        part.BrickColor = BrickColor.new("Bright blue")
    end
end

ในตัวอย่างนี้ เราได้ปรับขนาด, ตำแหน่ง, และสีของไอเท็มดาบที่นำเข้ามา รวมถึงหมุนไอเท็มให้มีมุมที่ต้องการ


7.3 การสร้างไอเท็มที่ใช้งานได้ในเกม (Creating Usable Items)

การสร้างไอเท็มที่ผู้เล่นสามารถใช้งานได้ เช่น อาวุธ, เครื่องมือ, หรือไอเท็มพิเศษ ต้องใช้การเขียนสคริปต์เพื่อควบคุมพฤติกรรมของไอเท็มในเกม เช่น เมื่อผู้เล่นถือดาบ ดาบจะสามารถโจมตีศัตรูได้ หรือเมื่อผู้เล่นใช้น้ำยาเพิ่มพลังชีวิต ค่าพลังชีวิตจะเพิ่มขึ้น

ตัวอย่างการสร้างไอเท็มดาบที่สามารถใช้งานได้:


local tool = Instance.new("Tool")  -- สร้าง Tool สำหรับผู้เล่น
tool.Name = "Sword"
tool.RequiresHandle = true

local handle = Instance.new("Part")  -- สร้างส่วนจับของดาบ
handle.Name = "Handle"
handle.Size = Vector3.new(1, 5, 1)
handle.BrickColor = BrickColor.new("Bright red")
handle.Parent = tool

tool.Equipped:Connect(function()
    print("Sword equipped!")
end)

tool.Activated:Connect(function()
    print("Sword swung!")  -- เพิ่มฟังก์ชันโจมตีเมื่อผู้เล่นใช้ดาบ
end)

tool.Parent = game.Players.LocalPlayer.Backpack  -- เพิ่มดาบเข้าในคลังไอเท็มของผู้เล่น

ในตัวอย่างนี้ เราได้สร้างดาบที่สามารถใช้งานได้ โดยเมื่อผู้เล่นกดใช้ดาบ ระบบจะแสดงข้อความว่าผู้เล่นกำลังใช้งานดาบอยู่


7.4 การจัดเก็บไอเท็มในคลังของผู้เล่น (Player Inventory)

เพื่อให้เกมมีความซับซ้อนมากขึ้น นักเรียนสามารถสร้างระบบคลังไอเท็ม (Inventory System) ที่สามารถเก็บไอเท็มได้หลากหลายประเภท และแสดงรายการไอเท็มทั้งหมดที่ผู้เล่นมีอยู่

ตัวอย่างการสร้างระบบคลังไอเท็ม:


local playerInventory = {}

function addItemToInventory(item)
    table.insert(playerInventory, item)  -- เพิ่มไอเท็มเข้าไปในคลัง
    print(item .. " added to inventory!")
end

function showInventory()
    print("Player Inventory:")
    for _, item in pairs(playerInventory) do
        print(item)
    end
end

-- เพิ่มไอเท็มเข้าไปในคลัง
addItemToInventory("Sword")
addItemToInventory("Potion")

-- แสดงรายการไอเท็มทั้งหมด
showInventory()

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


7.5 การนำเข้าข้อความและเสียง (Importing Textures and Sounds)

นอกจากโมเดล 3D แล้ว นักเรียนยังสามารถนำเข้าภาพพื้นผิว (Textures) และเสียง (Sounds) เพื่อเพิ่มความสมจริงให้กับไอเท็มและวัตถุในเกม

การนำเข้าข้อความ:

  1. ใน Asset Manager เลือก Images
  2. คลิกขวาและเลือก Add Image
  3. เลือกไฟล์ .png หรือ .jpg แล้วกด Open

ตัวอย่างการใช้พื้นผิวกับวัตถุ:


local part = Instance.new("Part")
part.Size = Vector3.new(5, 5, 5)
part.Position = Vector3.new(0, 5, 0)

local texture = Instance.new("Texture")
texture.Texture = "rbxassetid://1234567890"  -- ใส่รหัสของพื้นผิวที่อัปโหลด
texture.Parent = part

part.Parent = game.Workspace

ในตัวอย่างนี้ เราได้เพิ่มพื้นผิวลงในวัตถุเพื่อทำให้ดูสมจริงมากขึ้น

การนำเข้าเสียง:

  1. ใน Asset Manager เลือก Audio
  2. คลิกขวาและเลือก Add Audio
  3. เลือกไฟล์เสียง .mp3 หรือ .wav แล้วกด Open

ตัวอย่างการเพิ่มเสียงให้กับไอเท็ม:


local part = Instance.new("Part")
part.Size = Vector3.new(5, 5, 5)
part.Position = Vector3.new(0, 5, 0)

local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1234567890"  -- ใส่รหัสเสียงที่อัปโหลด
sound.Parent = part
sound:Play()  -- เล่นเสียงเมื่อวัตถุถูกสร้าง

part.Parent = game.Workspace

ในตัวอย่างนี้ เสียงจะเล่นเมื่อวัตถุปรากฏในเกม


ในบทเรียนนี้ นักเรียนได้เรียนรู้วิธีการนำเข้าโมเดล 3D และการสร้างไอเท็มในเกม รวมถึงการปรับแต่งไอเท็มและการสร้างระบบคลังไอเท็ม นอกจากนี้ นักเรียนยังได้เรียนรู้วิธีการนำเข้าพื้นผิวและเสียงเพื่อเพิ่มความสมจริงให้กับวัตถุในเกม การนำความรู้เหล่านี้ไปใช้จะช่วยพัฒนาเกมให้มีความซับซ้อนและมีเอกลักษณ์มากขึ้น


Free Joomla templates by Ltheme