ໄປທີ່ ໜ້າ ຈໍສາກແລະເລືອກເຄື່ອງຫຼີ້ນຂອງເຈົ້າ. ເປີດ ໜ້າ ຕ່າງພາບເຄື່ອນໄຫວ. ເພື່ອເລີ່ມຕົ້ນການເຄື່ອນໄຫວ, ທ່ານຕ້ອງການພາບເຄື່ອນໄຫວແລະຄລິບເຄື່ອນໄຫວ.
ເລືອກເຄື່ອງຫຼິ້ນແລະໄປຫາພາບເຄື່ອນໄຫວ -> ພາບເຄື່ອນໄຫວພາຍໃຕ້ ໜ້າ ຕ່າງ
ເຈົ້າຕ້ອງການຕົວອະນິເມຊັນແລະຄລິບອະນິເມຊັນ.
ເລືອກສ້າງ, ສ້າງໂຟນເດີສໍາລັບພາບເຄື່ອນໄຫວແລະບັນທຶກພາບເຄື່ອນໄຫວພາຍໃຕ້ Player_Idle.
ກຳ ນົດເວລາປະກົດຂຶ້ນທີ່ສາມາດຕັ້ງ ຕຳ ແໜ່ງ ການເຄື່ອນໄຫວໄດ້.
ລາກສະຄຣິບເຄື່ອນໄຫວເຂົ້າໄປໃນ ໜ້າ ຕ່າງການເຄື່ອນໄຫວ. ເຟຣມໄດ້ຖືກເພີ່ມ:
ດຽວນີ້ຕົວລະຄອນຈະເປັນພາບເຄື່ອນໄຫວໄດ້ໄວຫຼາຍ. ມັນເປັນສິ່ງ ຈຳ ເປັນທີ່ຈະຕ້ອງປັບປ່ຽນຮູບພາບທີ່ຖືກຫຼິ້ນຕໍ່ວິນາທີ.
ເພື່ອສະແດງອັດຕາຕົວຢ່າງ, ເລືອກການຕັ້ງຄ່າຈາກ ໜ້າ ຕ່າງການເຄື່ອນໄຫວແລະເລືອກ "ສະແດງອັດຕາຕົວຢ່າງ"
ດຽວນີ້ຢູ່ທີ່ 60 ແລ້ວ.
ປ່ຽນມັນເປັນ 12.
ຫຼັງຈາກນັ້ນ, ພາບເຄື່ອນໄຫວບໍ່ໄດ້ ດຳ ເນີນໄປໄວຄືແນວນັ້ນອີກຕໍ່ໄປ.
ຮູບພາບຕ່າງ can ສາມາດເຄື່ອນຍ້າຍໄດ້ຢູ່ໃນກໍານົດເວລາໂດຍໃຊ້ການລາກ & ວາງຫຼືເອົາອອກໂດຍໃຊ້ Delete.
ສິ່ງທັງalsoົດຍັງໃຊ້ໄດ້ກັບພາບເຄື່ອນໄຫວອື່ນເຊັ່ນ: ການຍ່າງຈາກຕົວລະຄອນ.
ເພື່ອເຮັດສິ່ງນີ້, ເລືອກ: ສ້າງຄລິບໃຫມ່
ເຮັດຊ້ ຳ ຄືນເພື່ອຄູ້ເຂົ່າແລະໂດດ.
ຖ້າເຈົ້າບໍ່ມີ sprites ຫຼາຍໃນເວລາໂດດແລະຍົກຕົວຢ່າງ, ມີພຽງແຕ່ sprites 2 ອັນ, ເຈົ້າສາມາດຕັ້ງຄ່າຕົວຢ່າງເປັນ 2.
ຢູ່ໃນໂຟນເດີພາບເຄື່ອນໄຫວ, ຕົວຄວບຄຸມອະນິເມຊັນມີການສະແດງໄອຄອນທີ່ແຕກຕ່າງຈາກພາບເຄື່ອນໄຫວ:
ມັນ ກຳ ນົດວ່າເວລາໃດມີການຫຼິ້ນອະນິເມຊັນ.
ອະນິເມຊັນເປີດດ້ວຍການຄລິກສອງເທື່ອ:
ຢູ່ທີ່ນັ້ນມັນຖືກ ກຳ ນົດວ່າພາບເຄື່ອນໄຫວໃດຖືກຫຼີ້ນ. ພາບເຄື່ອນໄຫວສາມາດຖືກລາກແລະວາງໂດຍກົງຈາກໂຄງການໃສ່ໃນພາບເຄື່ອນໄຫວ.
Player_Idle ເຊື່ອມຕໍ່ກັບລູກສອນສີສົ້ມ ແລະໝາຍສີສົ້ມເພາະມັນເປັນອະນິເມຊັນເລີ່ມຕົ້ນ. ເມື່ອທ່ານເລີ່ມເກມ, "ພາບເຄື່ອນໄຫວທີ່ບໍ່ມີປະໂຫຍດ" ຈະຫຼິ້ນຢ່າງຕໍ່ເນື່ອງ. ດ້ວຍປຸ່ມຫນູຂວາ, ທ່ານສາມາດ "ຕັ້ງເປັນ layer ເລືອກ “ສະຖານະເລີ່ມຕົ້ນ” ແລະສ້າງອະນິເມຊັນອື່ນເປັນອະນິເມຊັນເບື້ອງຕົ້ນ.
ເມື່ອເຈົ້າເລີ່ມແລ່ນ, ພາບເຄື່ອນໄຫວຄວນປ່ຽນເປັນພາບເຄື່ອນໄຫວທີ່ເappropriateາະສົມ. ຄລິກຂວາທີ່ Player_Idle ແລະເລືອກເຮັດການຫັນປ່ຽນ. ອັນນີ້ສ້າງການເຊື່ອມຕໍ່ຈາກ Player_Idle ຫາ Player_Run.
ຖ້າເຈົ້າເລືອກການເຊື່ອມຕໍ່, ເຈົ້າສາມາດແກ້ໄຂໄດ້ເມື່ອການປ່ຽນຈາກພາບເຄື່ອນໄຫວ ໜຶ່ງ ໄປເປັນອັນອື່ນຄວນເກີດຂຶ້ນ.
ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຕ້ອງການເງື່ອນໄຂ. ທ່ານຍັງຕ້ອງການພາລາມິເຕີສໍາລັບອັນນີ້ເພື່ອເຮັດວຽກ.
ສ້າງ "ລອຍ".
ມັນສະແດງເຖິງຄວາມໄວຂອງເຄື່ອງຫຼີ້ນ.
ຈາກນັ້ນ, ເຈົ້າໃສ່ເງື່ອນໄຂ:
ຕົວຢ່າງ, ເຈົ້າລະບຸວ່າພາບເຄື່ອນໄຫວປ່ຽນແປງເມື່ອຄວາມໄວສູງກວ່າ 0.01:
ເມື່ອຕົວລະຄອນເຄື່ອນໄຫວ, ມັນເລີ່ມຈາກພາບເຄື່ອນໄຫວອື່ນ.
ປິດ ນຳ ໃຊ້ "ມີເວລາອອກໄປ".
ປ່ຽນໄລຍະເວລາການປ່ຽນເປັນ 0.
ພາບເຄື່ອນໄຫວຂອງການແລ່ນຄວນຢຸດເມື່ອຕົວລະຄອນຢຸດການຍ່າງ. ສ້າງການຫັນປ່ຽນອື່ນທີ່ກັບໄປສູ່ການຢູ່ຊື່.
ເລືອກເງື່ອນໄຂຢູ່ທີ່ນີ້ວ່າພາບເຄື່ອນໄຫວປ່ຽນແປງເມື່ອຄວາມໄວ ໜ້ອຍ ກວ່າ 0.01.
ຢູ່ທີ່ນີ້ຄືກັນ, ປິດ ນຳ ໃຊ້ "ມີເວລາອອກໄປ" ແລະຕັ້ງໄລຍະເວລາການປ່ຽນເປັນ 0.
ການປ່ຽນແປງດຽວນີ້ແມ່ນເຮັດຢູ່ໃນສະຄຣິບ:
ພວກເຮົາມີຕົວອັກສອນ 2 ຕົວສໍາລັບຕົວລະຄອນ: ຕົວຄວບຄຸມຕົວອັກສອນດູແລຟິຊິກສາດທີ່ເຄື່ອນຍ້າຍຕົວລະຄອນແລະຕົວ ໜັງ ສື PlayerMovement ທີ່ບອກວ່າເວລາຕົວເລກເຄື່ອນຍ້າຍແລະຄວາມໄວເທົ່າໃດ.
ທຳ ອິດເປີດສະຄິບ PlayerMovement. ທຳ ອິດພວກເຮົາຕ້ອງການເຂົ້າເຖິງຕົວເຄື່ອນໄຫວ:
ຄວາມສາມັກຄີເພີ່ມຕົວສ້າງພາບເຄື່ອນໄຫວໃຫ້ກັບຜູ້ຫຼິ້ນເມື່ອສ້າງພາບເຄື່ອນໄຫວ. ມັນrefersາຍເຖິງຕົວຄວບຄຸມອະນິເມຊັນ, ເຊິ່ງມັນສ້າງຄວາມ ສຳ ພັນກັບຜູ້ຫຼິ້ນ. ຕົວລະຄອນຈະຕ້ອງສາມາດຄວບຄຸມໄດ້ໂດຍຕົວອັກສອນ PlayerMovement:
public animator ພາບເຄື່ອນໄຫວ;
ກັບຄືນໄປຫາຄວາມສາມັກຄີແລະເຈົ້າຈະເຫັນວ່າສະ ໜາມ Animator ດຽວນີ້ປະກົດຢູ່ໃນ Script Movement Script. ຫຼັງຈາກນັ້ນອົງປະກອບເຄື່ອນໄຫວແມ່ນຖືກລາກເຂົ້າໄປຈາກມັນຈາກປ່ອງຢ້ຽມຂອງຜູ້ກວດກາ.
ເມື່ອໃດກໍ່ຕາມທີ່ພວກເຮົາຂຽນໃນ Script Animator, ພວກເຮົາເຂົ້າເຖິງອົງປະກອບຂອງຕົວເຄື່ອນໄຫວ.
ໃນ ໜ້າ ທີ່ອັບເດດດຽວນີ້ເຈົ້າສາມາດເຂົ້າຫາຕົວເຄື່ອນໄຫວແລະສ່ວນປະກອບທີ່ກ່ຽວຂ້ອງ:
animator.SetFloat ("ຄວາມໄວ", Mathf.Abs (horizontalMove);
ຟັງຊັນ Mathf.Abs ຮັບປະກັນວ່າຄຸນຄ່າຂອງການເຄື່ອນໄຫວຂອງຕົວລະຄອນຂອງເຈົ້າແມ່ນເປັນບວກສະເີ.
ຖ້າເຈົ້າເລີ່ມເກມຂອງເຈົ້າໃນ Unity ດຽວນີ້, Unity ຈະຫຼິ້ນພາບເຄື່ອນໄຫວຂອງຕົວລະຄອນຂອງເຈົ້າເມື່ອເຈົ້າຍ່າງ. ເມື່ອເຈົ້າຢຸດ, ການເຄື່ອນໄຫວຢູ່ຊື່ຈະຖືກເປີດໃຊ້ງານ.
ດຽວນີ້ມັນກ່ຽວກັບການໂດດ: ສຳ ລັບອັນນີ້ພວກເຮົາໃຊ້ຕົວເລືອກ“ ລັດໃດ ໜຶ່ງ” ຢູ່ໃນພາບເຄື່ອນໄຫວ. ບໍ່ວ່າຮູບເງົາເລື່ອງໃດທີ່ ກຳ ລັງສາຍຢູ່ໃນເວລານີ້, ເມື່ອຕົວລະຄອນກະໂດດ, ລາວຈະປ່ຽນເປັນພາບເຄື່ອນໄຫວນັ້ນ.
ເງື່ອນໄຂແມ່ນຕ້ອງການສໍາລັບອັນນີ້ເພື່ອໃຫ້ຕົວລະຄອນບໍ່ໂດດເດັ່ນຕະຫຼອດເວລາ: ດຽວນີ້ຕ້ອງມີພາຣາມິເຕີອື່ນ.
ເອີ້ນອັນນີ້: IsJumping ແລະຕັ້ງເງື່ອນໄຂ“ IsJumping” ເປັນຖືກ.
ພວກເຮົາບໍ່ຕ້ອງການເວລາອອກແລະພວກເຮົາຕັ້ງໄລຍະເວລາການປ່ຽນເປັນ 0.
ຕົວລະຄອນຄວນຈະສາມາດກັບຄືນໄປ "ຢູ່ຊື່" "ຈາກອານິເມຊັນໄປຫາໂດດໄດ້. ການເຊື່ອມຕໍ່ອື່ນຈະຖືກສ້າງຂຶ້ນ.
ເງື່ອນໄຂ "IsJumping" ຖືກຕັ້ງເປັນຜິດແລະ Speed ເປັນ Less 0.01.
ການເຊື່ອມຕໍ່ອື່ນແມ່ນຖືກສ້າງຂື້ນຈາກການກະໂດດໄປຫາການແລ່ນ. ສະຫຼັບກັບການແລ່ນມີເງື່ອນໄຂເພີ່ມເຕີມ:
IsJumping = false ແລະ Speed> 0.01
ສຳ ລັບທັງສອງ, ພວກເຮົາຕັ້ງເວລາ HasExit ເປັນຜິດແລະໄລຍະເວລາເປັນ 0.
ດຽວນີ້ສະຄຣິບ ສຳ ລັບອະນິເມຊັນຖືກປັບ:
animator.SetBool ("IsJumping", ຄວາມຈິງ);
ພວກເຮົາຖ່າຍທອດໃຫ້ກັບ PlayerMovementScript ວ່າຕົວລະຄອນຢຸດການໂດດເມື່ອລາວລົງຈອດ:
ພື້ນທີ່ຫວ່າງເປັນສາທາລະນະ OnLanding ()
{
animator.SetBool ("IsJumping", ບໍ່ຖືກຕ້ອງ);
}
ດຽວນີ້ພວກເຮົາສາມາດເພີ່ມ OnLandEvent ໃin່ໃນຄວາມເປັນເອກະພາບ:
ເຈົ້າໃສ່ OnLandEvent ແລະເລືອກພາຍໃຕ້ PlayerMovement: OnLanding ()
ຈາກນັ້ນຄວາມສາມັກຄີຈະຫຼິ້ນພາບເຄື່ອນໄຫວໃນຂະນະທີ່ໂດດແລະເມື່ອຕົວລະຄອນລົງຈອດມັນຈະເຮັດໃຫ້ມັນສິ້ນສຸດລົງ.
ຄວາມສາມັກຄີສະເplaysີມີບົດລະຄອນສັ້ນ very. ປິດ ນຳ ໃຊ້ "ສາມາດຫັນປ່ຽນໄປຫາຕົວເອງ" ເພື່ອໃຫ້ພາບເຄື່ອນໄຫວຖືກຫຼິ້ນເຕັມທີ່:
ດຽວນີ້ມີການເພີ່ມພາບເຄື່ອນໄຫວ ສຳ ລັບການຄູ້ເຂົ່າລົງ.
ເຊື່ອມຕໍ່ Idle ກັບ Crouch:
ເພີ່ມເງື່ອນໄຂ: ສ້າງພາຣາມິເຕີໃ:່: IsCrouching
ຖ້າ Crouching IsTrue, ໃຫ້ມີການຄູ້ມຕົວຕົວອັກສອນ:
ແກ້ໄຂເວລາອອກແລະໄລຍະເວລາອີກຄັ້ງ. ເຊື່ອມຕໍ່ຄືນໃ່.
ຖ້າເຈົ້າປິດໃຊ້ເວລາອອກແລະກໍານົດໄລຍະເວລາສໍາລັບການເຄື່ອນໄຫວເປັນ 0, ຂະຫຍາຍເວລາອອກໄປກ່ອນແລະພຽງແຕ່ປິດການໃຊ້ງານມັນຫຼັງຈາກນັ້ນ, ຖ້າບໍ່ດັ່ງນັ້ນຄໍາເຕືອນຫຼາຍຢ່າງຈະໄປຫາຄອນໂຊນ. ສ້າງການເຊື່ອມຕໍ່ອື່ນຈາກການເຄື່ອນໄຫວເຄື່ອນໄຫວ.
ສ້າງການເຊື່ອມຕໍ່ຄືນອື່ນ:
IsCrouching ແມ່ນຜິດແລະຄວາມໄວ> 0.01
ເພີ່ມ OnCrouchEvent ອື່ນ.
ສຳ ລັບອັນນີ້ພວກເຮົາຕ້ອງການ ໜ້າ ທີ່ອື່ນຢູ່ໃນສະຄິບ PlayerMovement:
OnCrouching ເປັນສາທາລະນະ (bool isCrouching)
{
animator.SetBook ("IsCrouching", isCrouching);
}
ດຽວນີ້ເພີ່ມເຫດການ Crouch. ສິ່ງສໍາຄັນ: ສະຄຣິບຕ້ອງມາກ່ອນຊັ້ນສາທາລະນະ BoolEvent [System.Serializable]. ຖ້າບໍ່ດັ່ງນັ້ນ CrouchEvent ຈະບໍ່ປະກົດຂຶ້ນໃນ ໜ້າ ຕ່າງ Unity Inspector:
ເພີ່ມສະຄິບ PlayerMovement ອີກຄັ້ງ. ພາຍໃຕ້ PlayerMovement Script, ເລືອກ OnCrouching ຈາກພາກສ່ວນຂ້າງເທິງ.