ผู้เล่นใช้สคริปต์ สำหรับวิดีโอนี้ คุณจะใช้แอนิเมชันที่ได้รับการแก้ไขแล้วในสคริปต์ล่วงหน้า เมื่อเสร็จสิ้น แอนิเมชันนี้สามารถใช้เพื่อเฉลิมฉลองความสำเร็จข
สคริปต์แอนิเมชั่น
การแอนิเมชั่นถูกเรียกใช้โดย สคริปต์ หนึ่งในวิธีการใช้เหตุการณ์เพื่อเล่นแอนิเมชั่นในสถานการณ์ต่างๆ เช่นผู้เล่นกำลังจบระดับการสู้กับศัตรูหรือแม้กระทั่งการซื้อในเกม
การตั้งโครงโครงการ
สำหรับโครงการนี้ คุณจะสร้างชิ้นส่วนที่เมื่อแตะจะเรียกใช้อนิเมชันสำหรับผู้เล่นนั้น
เพื่อจัดรวมองค์ประกอบทั้งหมดที่จะเล่นอนิเมชันให้เพิ่มโฟลเดอร์ใน Workspace (เลือก Workspace และคลิก +) ที่มีชื่อว่า TouchPartFolder
ใน TouchPartFolder เพิ่มชิ้นส่วน
ตรวจสอบว่าชิ้นส่วนถูกวางที่ที่เล่นแอนิเมชันจะมีความสมเหตุสมผล เช่น ใกล้จุดสิ้นสุดของระดับหรือใกล้สถานที่ที่ผู้เล่นเก็บ
ใน StarterPlayer > StarterCharacterScripts สร้างโค้ดท้องถิ่นที่มีชื่อว่า TouchPartRegister แล้วคัดแต่ละส่วนของโค้ดด้านล่าง
-- ใช้กับสคริปต์ "PlayerAnimationFeedback" เพื่อเล่นอนิเมชั่นบนส่วนของผู้ใช้-- บริการlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal character = player.Character or player.CharacterAdded:Wait()local humanoid = character:WaitForChild("Humanoid")local canTouch = false-- รวมโมดูลการแสดงผลข้อเสนอแนะlocal PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))-- ฟังก์ชันที่เรียกเมื่อส่วนหนึ่งถูกแตะlocal function onPartTouch(otherPart)if humanoid and canTouch == false thencanTouch = truePlayerAnimationFeedback:PlayAnimation()canTouch = falseendend-- เมื่อเริ่มต้นใช้งาน โปรดเรียกหน้าเรียกโมดูลอนิเมชันPlayerAnimationFeedback:LoadAnimation(humanoid)-- ผูกโฟลเดอร์ของชิ้นส่วนไปยังเหตุการณ์ "Touched" เพื่อให้สามารถ "onPartTouch()" ได้local touchPartFolder = workspace:WaitForChild("TouchPartFolder")local touchParts = touchPartFolder:GetChildren()for _, touchPart in touchParts dotouchPart.Touched:Connect(onPartTouch)endสคริปนี้ค้นหาชิ้นส่วนทั้งหมดใน TouchPartFolder และให้เหตุการณ์ Touched() แก่พวกเขา เมื่อไฟร์อัพจะดำเนินการฟังก์ชั่นที่เล่นอนิเมชั่นสำหรับผู้เล่น
สคริปต์ต่อไปจะเรียกใช้อนิเมชันสำหรับผู้เล่น ใน ReplicatedStorage สร้างโมดูลใหม่ที่มีชื่อว่า PlayerAnimationFeedback แล้วคัดลอกและวางรหัสด้านล่าง
-- ใช้กับสคริป "TouchPartRegister" เพื่อเล่นอนิเมชันสำหรับผู้เล่นlocal PlayerAnimationFeedback = {}local feedbackAnimationTracklocal ANIMATION_FADE = 0.3local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"-- ระบบที่ใช้เพื่อโหลดแอนิเมชันลงในตัวละครของผู้เล่นfunction PlayerAnimationFeedback:LoadAnimation(humanoid)local feedbackAnimation = Instance.new("Animation")feedbackAnimation.AnimationId = ANIMATION_IDfeedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)feedbackAnimationTrack.Priority = Enum.AnimationPriority.ActionfeedbackAnimationTrack.Looped = falseend-- แอนิเมชันfunction PlayerAnimationFeedback:PlayAnimation()feedbackAnimationTrack:Play(ANIMATION_FADE)task.wait(feedbackAnimationTrack.Length)endreturn PlayerAnimationFeedback
เล่นอนิเมชั่น
ต้องระบุอนิเมชันในสคริปต์ที่โหลดและเล่น
การตั้งค่าแอนิเมชั่น
สคริปต์ต้องรู้ว่าอนิเมชั่นใดที่จะเล่น แอนิเมชันค้นหา รหัสสินทรัพย์ของอนิเมชั่น ผ่านตัวแสดงผล web นั้นจะช่วยให้อนิเมชั่นนั้นโหลดในสคริปต์ได้
เปิดแผง อนิเมชันส์ ของหน้าสร้าง
แอนิเมชัน
คัดลอก ID จาก URL ในเบราว์เซอร์ของคุณ
ในสคริปต์, PlayerAnimationFeedback, แทนที่ตัวแทน, YOUR_ANIMATION (ข้อมูลสาย 8) ด้วย ID ที่คุณคัดลอก
แอนิเมชัน
ขั้นตอนต่อไป
ด้านล่างนี้คือวิธีการเรียนรู้เพิ่มเติม
เรียนรู้เกี่ยวกับอนิเมชั่น
จนถึงตอนนี้คุณได้เรียนรู้วิธีการสร้างแอนิเมชันและเพิ่มพวกเขาในประสบการณ์ เพื่อดำเนินการต่อการเรียนรู้เราขอแนะนำให้คุณไปที่ ภาพรวมแอนิเมชัน
ในหน้านั้นคุณจะพบลิงค์ที่มีประโยชน์ในการปรับปรุงอนิเมชัน เช่นการใช้เครื่องมือเลื่อนเวลาเพื่อการเคลื่อนที่ที่เรียบร้อยหรือเคล็ดลับในการปรับปรุงอนิเมชัน
อนิเมชั่น Parts
นอกจากนี้เริ่มบทเรียนที่เลือกได้ การเคลื่อนไหวชิ้นส่วน เพื่อเรียนรู้วิธีการเขียนวัยรุ่น, คุณสมบัติที่ช่วยให้คุณเคลื่อนย้ายชิ้นส่วนได้ ตัวอย่างของโครงการสุดท้ายอยู่ด้านล่าง