using UnityEngine;
using System.Collections;
public class DeleteIt : MonoBehaviour
{
ย ย ย [HideInInspector]
ย ย ย public bool isFacingRight = true; //์บ๋ฆญํฐ๊ฐ ์ค๋ฅธ์ชฝ์ ๋ฐ๋ผ๋ณด๊ณ ์๋๊ฐ.
ย ย [HideInInspector]
ย ย ย public bool isJumping = false; //์ง๋ฉด์ ์ฐฉ์งํ ์ํ๊ฐ ์๋๋ผ๋ฉด ์ ํ์ค์ด๊ฑฐ๋ ๋ํ์ค ํ๋์ผ ๊ฒ์. ์ง๊ธ์ ์ํ๊ฐ ์ ํ์ธ์ง๋ฅผ ํ์ธํ๊ธฐ ์ํ bool.
ย ย ย [HideInInspector]
ย ย ย public bool isGrounded = false; //์ง๋ฉด์ ์ฐฉ์งํ ์ํ์ธ๊ฐ?
ย ย ย public float jumpForce = 250.0f; //์ ํ์ ํ
ย ย ย public float maxSpeed = 4.0f; //์ด๋์ ์ต๊ณ ์๋์ ๊ฐ
ย ย ย public PhysicsMaterial2D jumpMaterial; //์ ํ ์ค ์ข์ฐ ๋ฒฝ์ ๋ถ๋์ณค์ ๋ ๋ฏธ๋์ด์ ธ ๋ด๋ ค์ค๊ฒ ํ๊ธฐ ์ํด ๋ง์ฐฐ๋ ฅ์ด 0์ธ ํผ์ง ๋ฉํฐ๋ฆฌ์ผ์ ์ค๋นํ๋ค. ํผ์ง ๋ฉํฐ๋ฆฌ์ผ์ ๊ทธ ์ปฌ๋ผ์ด๋๊ฐ ๊ฐ์ง๋ ๋ง์ฐฐ๋ ฅ ๋ฐ๋ฐ๋ ฅ ๋ฑ์ ์ง์ ํ๋ ๊ฑฐ.
ย ย ย public Transform groundCheck; //FixedUpdate์ Physics2D.OverlapCircle()์์ ์ง๋ฉด ์ถฉ๋์ฒดํฌ๋ฅผ ํ ์์น. ์ฃผ๋ก ๋ฐ์ด๊ฒ ์ง.
ย ย ย public LayerMask groundLayers; //๋ฐ๋ก ๋๋ ์ ์๋ ์งํ์ ๋ ์ด์ด.ย Physics2D.OverlapCircle()์์ ์ถฉ๋์ฒดํฌ๋ฅผ ํด์ ๋ฐ ๋ฐ์ ๋ฐ๋ฅ์ด ๋ฐ๋ก ๋๋ ์ ์๋ ์งํ์ธ์ง ์๋์ง ํ๋ณํจ.
ย ย ย private float groundCheckRadius = 0.2f; //Physics2D.OverlapCircle() ์์ groundCheck๋ก๋ถํฐ ์ด ๊ฐ๋งํผ์ ๋ฐ๊ฒฝ์ ๋ฐ๋ฅ์ด ์๋์ง ๊ฒ์ฌ.
ย ย ย private Animator anim; //์ ๋๋ฉ์ดํฐํ์ anim์ ์ธํ๊ณ ...
ย ย ย void Awake()
ย ย ย {
ย ย ย ย ย ย ย anim = this.GetComponent<Animator>(); //๊ทธ ๋ณ์ ์์ ์ ๋๋ฉ์ดํฐ ์ปดํฌ๋ํธ ๋ณ์๋ฅผ ๋ฃ๊ณ .
ย ย ย }
ย ย ย // ์ด ์ฌ๋์ ์ฐฉ์ง ํ๋ณ์ 2๊ฐ๋ก ๋๋ ๋จ์. y์ถ ์ด๋์ด ์๋๊ฐ์ ์ง์ ํ ์ง๋ฉด ๋ ์ด์ด์ ๋ฐ์ด ๋ฟ์๋๊ฐ 2๊ฐ์.
ย ย ย // Update๋ฌธ์์๋ y์ถ ์๋๋ฅผ ํ์ธํด์ isGround๋ฅผ true๋ก ๋ง๋ค๊ณ .
ย ย ย // FixedUpdate๋ฌธ์์๋ ๋ฐ ์์น์์ ์งํ๋ ์ด์ด์์ ์ถฉ๋ ์ ๋ฌด๋ก isGround๋ฅผ ๋ง๋ฌ.
ย ย ย // ๊ทผ๋ฐ ์ด๋ ๊ฒ ๋๋ฉด ์งํ ๋ ์ด์ด๋ฅผ ๋ฐ๋ก ๋ ๊ฑด ์์ผ๋ก ์์ ์์ง์ด๋ ํ๋ซํผ์ ์ํด์์ธ์ง ์๋ y์ถ ์๋์ ํจ๊ป ์ด์ค ์ฒดํฌ๋ฅผ ํ๊ธฐ ์ํด์์ธ์ง, ์๋ ik๋ฅผ ์ํด์์ธ์งย ๋ชจ๋ฅด๊ฒ ์.
ย ย ย // ๋ ์คย ํ๊ตฐ๋ฐ์ ์ฒดํฌ๋ฅผ ์ํด๋ ๋น์ฅ์ ์๋ํ ๊ฑฐ์. ์ฐจ์ฐจ ์ค๋ช ์ด ๋์ค๊ฒ ์ง.
ย ย ย void Update()
ย ย ย {
ย ย ย ย ย ย ย if (GetComponent<Rigidbody2D>().velocity.y == 0) //y์ถ์ผ๋ก ์์ง์ด์ง ์๋๋ค๋ ๊ฑด ์ง๋ฉด์ ๋ฟ์์๋ค๋ ๋ป.
ย ย ย ย ย ย ย ย ย ย ย isGrounded = true;
ย ย ย ย ย ย ย if (Input.GetButtonDown("Jump")) //์ ํ ๋ฒํผ์ ๋๋ ์ ๋..
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย if (isGrounded == true) //์ง๋ฉด์ ๋ถ์ ์ํ์์ ์ ํ๋ฒํผ์ ๋๋ ๋ค๋ฉด...
ย ย ย ย ย ย ย ย ย ย ย {
ย ย isJumping = true; //์ ํ์ค์ผ๋ก ๋ฐ๊พผ๋ค.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย this.GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, 0); //๋ฆฌ์ง๋๋ฐ๋์ y์ถ ์๋๋ฅผ 0์ผ๋ก ๋ฐ๊ฟ. ์๋ง ๋ค์ ๋ผ์ธ์์ y์ถ์ผ๋ก ํ์ ๊ฐํ ๋ ์ํฅ์ ๋ฐ์ง ์์ผ๋ ค๊ณ ์ด๋ฐ ๊ฑฐ ๊ฐ๋ค. ์ฌ์ค ๋น์ฅ์ ํ์์๊ณ , ๋์ค์ ์์๋๋ก ์์ง์ด๋ ํ๋ซํผ ๊ฐ์ ๊ฑฐ ์์ ์ฌ๋ผํ ์์๋๋ย ํ์ํ ๊ฒ ๊ฐ์.ย ํ์์ ์ธ์ ๋ ์ฐฉ์งํ์ ๋ y์ถ ์ด๋ ์๋๋ 0์ผ๊ฑฐ์์.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย this.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, jumpForce)); //x์ถ์ ๋๋๊ณ y์ถ์ผ๋ก๋ง jumpForce๋งํผ ํ์ ๊ฐํจ.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย this.anim.SetTrigger("Jump"); //์ ๋๋ฅผ ์ ํ ์ํ๋ก ๋ฐ๊ฟ์ค๋ค.
ย ย ย ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย ย ย ย else if (isJumping == false) //์ง๋ฉด์ ๋ฟ์ง ์์๋๋ฐ ์ ํ์ค์ด ์๋๋ผ๋ ๊ฑด ๋ํ์ค์ด๋ผ๋ ๋ป. ๋ํ์ค ์ ํ๋ฒํผ์ ๋๋ ๋ค๋ฉด...
ย ย ย ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย isJumping = true; //์ ํ์ค์ผ๋ก ๋ฐ๊พผ๋ค.
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย this.GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, 0);
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย this.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, jumpForce));
ย ย ย ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย }
ย ย ย }
ย ย ย ย //FixedUpdate๋ฌธ์์ ์ฐฉ์ง ์ฒดํฌ๋ ๋ฐ์์น์์ Physics2D.OverlapCircle๋ก ์ปฌ๋ฆฌ์ ์ฒดํฌ๋ฅผ ํด์ groundLayer๋ก ์ง์ ํ ๋ ์ด์ด ๋๋ฒ์ ๋ฌผ์ฒด์ ๋ฟ์์ ๋ ์ฐฉ์งํ๋ค๊ณ ํ์ ํจ.
ย ย ย ย //๊ทผ๋ฐ ์บ๋ฆญํฐ์ ์งํ์ด ์ด์ฐจํผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ถฉ๋๋๊ฒ ๋ง์คํฌ๋ฅผ ์ก์๋์๋ค๋ฉด ์ด๊ฒ ํฐ ์๋ฏธ๊ฐ ์์. ์ฒดํฌํ๋๋ง๋ ๋ ์ ๋ฟ์์ ์บ๋ฆญํฐ๋ ๋ฉ์ถฐ์คํ ๊ณ ๊ทธ๋ผ y๊ฐ์ด 0์ด ๋์ด์ Update๋ฌธ์์๋ isGround ๋ฅผ true๋ก ๋ง๋ค๊ฑฐ๊ธฐ ๋๋ฌธ์.
ย ย ย ย ย //๊ทธ๋์ ์บ๋ฆญํฐ์ ๋ฐ๋ฅ์ ๋ ์ด์ด๊ฐ ์ถฉ๋๋๊ฒ ๋ง๋ค์๋ค๋ฉด ์ด๊ฑด ํฐ ์๋ฏธ๋ ์์ํ ๋ฐ... ๊ทธ ์ฑ ์ ๊ฐ์ข๋ฅผ ๋ณด์ง ์์์ ์์ผ๋ก ์ด๋ป๊ฒ ์ฐ์ผ์ง ์ ๋ชจ๋ฅด๊ฒ ์.
ย ย ย void FixedUpdate()
ย ย ย {
ย ย ย ย ย ย ย isGrounded = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayers); //์ง์ ํ groundCheck.position์์ groundCheckRadius ๋ฐ๊ฒฝ์์ groundLayers ๋ ์ด์ด์ ์ถฉ๋ํ๋์ง ์ฌ๋ถ. ์ถฉ๋ํ๋ค๋ฉด ์ง๋ฉด์ ์ฐฉ์งํ๊ฑธ๋ก ๋ณธ๋ค. groundCheck.position์ ์๋ง ๋ฐ ์์น์ผ๊ฑฐ์.ย
ย ย ย ย ย ย ย PhysicsMaterial2D material = this.gameObject.GetComponent<CircleCollider2D>().sharedMaterial;
ย ย ย ย ย ย ย if (isGrounded)
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย isJumping = false; //์บ๋ฆญํฐ๊ฐ ๋
์ ์ฐฉ์งํ๋ค๋ฉด jump์ค์ด ์๋๋ isJumping์ false๋ก ๋ง๋ฌ.
ย ย ย ย ย ย ย }
ย //์ ํ ์ค ๋ฒฝ์ ๋ฟ์์ ๋ ๋ฏธ๋์ด์ ธ๋ด๋ ค์ค๋๋ก ํผ์ง ๋ฉํฐ๋ฆฌ์ผ์ ๋ฐ๊ฟ์ค.
ย //์ด๊ฑธ ๋ฐ๊ฟ์ฃผ์ง ์์ผ๋ฉด ์ ํ ํ ๋ฒฝ์ ๋ถ์ด์ ๊ณ์ ๋ ๋ฒ๋ฅผ ๋ฒฝ์ชฝ์ผ๋ก ํฅํ๊ฒ ํ๋ฉด ์บ๋ฆญํฐ๊ฐ ๋ ์ผ๋ก ๋ด๋ ค์ค์ง ์๊ณ ๋ฒฝ์ ๋ถ์ด์์๊ฑฐ์.
ย ย ย ย ย ย ย if (isGrounded == true && material == this.jumpMaterial) //์ฐฉ์งํ ์ํ์์ ํผ์ง ๋ฉํฐ๋ฆฌ์ผ์ด ์ ํ์ํ์ friction์ด 0์ธ ๋ฉํฐ๋ฆฌ์ผ์ด๋ผ๋ฉด...
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย CircleCollider2D collision = this.gameObject.GetComponent<CircleCollider2D>();
ย ย ย ย ย ย ย ย ย ย ย collision.sharedMaterial = null; //๋ฉํฐ๋ฆฌ์ผ์ย null๋ก ๋ง๋ค๋ฉด ๊ธฐ๋ณธ friction์ด ์ ์ฉ๋์ด์ ์ง๋ฉด์ ๋ง์ฐฐ๋ ฅ์ด ์๊ฒจ์ ์บ๋ฆญํฐ๊ฐ ๋ฏธ๋์ด์ง์ง ์์๊ฑฐ์.
ย ย ย ย ย ย ย ย ย ย ย collision.enabled = false;
ย ย ย ย ย ย ย ย ย ย ย collision.enabled = true; //๊ทผ๋ฐย ์ด ๋์ค์ ์์ด๋ฌ๋์ง ๋ชจ๋ฅด๊ฒ ์. ํ๋ฒย ๊ป๋ค๊ฐ ์ผ์ผ ๋ฉํฐ๋ฆฌ์ผ์ด ์๋ํ๋ค๋ ์๋ฆฐ๊ฐ? ๋๋ ์ํด๋ด์ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋์ค์ ํ๋ฒ ์ง์ ํ
์คํธ ํด๋ณด๊ธฐ ๋ฐ๋.
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย else if (isGrounded == false && this.gameObject.GetComponent<CircleCollider2D>().sharedMaterial == null)ย //์ ํ๋ ๋ํ์ ํผ์ง๋ฉํฐ๋ฆฌ์ผ์ด jump์ฉ์ผ๋ก ๋ฐ๋์ง ์์๋ค๋ฉด..
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย // ์ ํ์ค์ผ๋ friction์ 0์ผ๋ก ๋ง๋ค์ด์ ๋ฌด์กฐ๊ฑด ๋ฏธ๋์ด์ง๊ฒ ํจ. ๊ทธ๋์ ์ ํ์ค ๋ฒฝ์ ๋ถ๋์ณค์๋ ๊ทธ๋ฅ ์๋๋ก ๋ฏธ๋์ด์ ธ ๋ด๋ ค์ค๊ฒ ํ๋ ค๊ณ ...
ย ย ย ย ย ย ย ย ย ย ย CircleCollider2D collision = this.gameObject.GetComponent<CircleCollider2D>();ย
ย ย ย ย ย ย ย ย ย ย ย collision.sharedMaterial = this.jumpMaterial; //์บ๋ฆญํฐ์ ํผ์ง ๋ฉํฐ๋ฆฌ์ผ์ jumpMaterial๋ก ๋ฐ๊ฟ์ค์ ๋ง์ฐฐ๊ฐ์ 0๋ก ๋ง๋ค์ด ์ค.
ย ย ย ย ย ย ย ย ย ย ย collision.enabled = false;ย
ย ย ย ย ย ย ย ย ย ย ย collision.enabled = true;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย try //try{}์์ ์๋ ๋ฌธ์ ์คํํ๋ค๊ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด catch(){}๋ก...
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย float move = Input.GetAxis("Horizontal"); //๋ฐฉํฅํค ์
๋ ฅ...
ย ย ย ย ย ย ย ย ย ย ย GetComponent<Rigidbody2D>().velocity = new Vector2(move * maxSpeed, GetComponent<Rigidbody2D>().velocity.y);ย // ์บ๋ฆญํฐ์ x์ถ ์๋๋ ๋ฐฉํฅํค์ ์
๋ ฅ๋ฐฉํฅ * ์บ๋ฆญํฐ์ ์๋, y์ถ ์๋๋ ์์ ์ y์ถ ์๋ ๊ทธ๋๋ก...
ย ย ย ย ย ย ย ย ย ย ย //this.anim.SetFloat("Speed", Mathf.Abs(move));
ย ย ย ย ย ย ย ย ย ย ย if ((move > 0.0f && isFacingRight == false) || (move < 0.0f && isFacingRight == true)) //๋ฐฉํฅํค ์
๋ ฅ์ด 0๋ณด๋ค ํฌ๋ค๋ ๊ฑด ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ธ๋ค๋ ๋ป์. ๊ทผ๋ฐ isFacingRight๊ฐ false๋ก ์ผ์ชฝ์ ๋ฐ๋ผ๋ณด๊ณ ์๋ค๋ฉด ์บ๋ฆญํฐ๋ฅผ ๋ค์ง์ด์ ๋ฐฉํฅ์ ์ ๋๋ก ๋ณด๊ฒ ํ๋ค. ๋ฐฉํฅํค ์
๋ ฅ์ด ์ผ์ชฝ์ผ๋๋ ๋ง์ฐฌ๊ฐ์ง.
ย ย ย ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย Flip();
ย ย ย ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย catch (UnityException error)
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย Debug.LogError(error.ToString());
ย ย ย ย ย ย ย }
ย ย ย }
ย ย ย void Flip()ย //์บ๋ฆญํฐ์ ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ ๋ค์ง์ด์ค๋ค.
ย ย ย {
ย ย ย ย ย ย ย isFacingRight = !isFacingRight; //isFacingRight๊ฐ true๋ฉด false๋ก false๋ฉด true๋ก...
ย ย ย ย ย ย ย Vector3 playerScale = transform.localScale;ย ย //playerScale๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด ์บ๋ฆญํฐ์ ์ค์ผ์ผ๊ฐ์ ํ ๋นํจ.
ย ย ย ย ย ย ย playerScale.x = playerScale.x * -1; //์ค์ผ์ผ์ x๊ฐ์ +-1๋ก ๋ฐ๊ฟ๋ณด๋ฉด ์ข์ฐ๋ก ๋ฐ์ ๋๋ค๋ ๊ฒ์ ์๊ฒ๋ ๊ฑฐ์. ํ์ฌ์ ํ๋ ์ด์ด scale์ x๊ฐ์ -1์ ๊ณฑํด์ 1์ผ๋ -1๋ก -1์ผ๋ 1๋ก ๋ฐ๊ฟ์ค.
ย ย ย ย ย ย ย transform.localScale = playerScale; //์์ ๋ฐ์ ๋ ์ค์ผ์ผ๊ฐ์ ์บ๋ฆญํฐ ์ค์ผ์ผ์ ๋์
ํจ.
ย ย ย }
}
์คํธ ๊ฐ์ฌ๊ฐ์ฌ ์๋ค ์ง์์ ํ์คํ์ค๋ฐ๊ฟ๊ฐ๋ฉด์ ๋ด๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ๊ฒ ๋ค..
PhysicsMaterial2D material = ์ฌ๊ธฐ๋ถํฐ ํธ๋ผ์ด ์ ๋ถ๋ถ๊น์ง๋ ๋ชจ๋ฅด๋ ๋ถ๋ถ? ์ด๋ถ๋ถ์ด ์ ์ผ๊ถ๊ธํ๋ฐ.. ๋ค๋ฅธ๊ณณ์ ๋์ถฉ ํ์ ์ด๋ผ๋ ๋ณใด์๋๋ฐ ์ด๋ถ๋ถ์ ๋๋ฌด์ง ๊ฐ์ด ์์ด..
์ ๊ฑฐ๊ธฐ์ ๋ํด์๋ ๋๋ ํ์ ์ด ์๊ฐ๋๋ฐ ์ผ๋จ ์ฃผ์์ ๋ฌ์๋์์.
์ด๊ฒ ์ฝ๋๊ฐ ์ข ๋นํจ์จ์ ์ธ๋ฐ๊ฐ ๋ง์๋ฐ ์ฑ ์ ์์ ๋ผ๋ ์๋ง ์ด๊ฑธ ๊ณ์ ๊ณ ์ณ๊ฐ๋ฉด์ ์ค๋ช ํ๋ ๊ฒ ์๋๊น ์ถ์ด์ ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ์๋ ๊ทธ๋๋ก์ ๋ํด์๋ง ์ฃผ์์ ๋ฌ์์.
๋ด๊ฐ ํ ์คํธํด๋ดค๋๋ฐ PhysicsMaterial2D material ์ฌ๊ธด ๋ฒฝ์ ๋ถ๋์ณค์ ๋ ๋ฏธ๋์ด์ง๊ฒ ํ๋ ๊ฒ ๋ง๋ค. ์ฃผ์ ๊ณ ์ณ๋์๋ค
๋ด๊ฐ ๋ฒฝ ๋ง๋ค์ด์ ๋๋ ํด๋ดค๋๋ฐ ๊ทธ๋ฅ ๋ฏธ๋๋ฌ์ง๋๊ฒ ์๋๋ผ ์ญ ๋จ์ด์ง๊ณ ์์ผ๋ก ๊ณ์ ๊ฐ๋ํค๋๋ฅด๋ฉด ๋ฒฝ์ ๋๊ฒ์ฒ๋ผ ๋ฉ์ถฐ์๋๋ฐ?
์๋ง๋ค. ์ด ์ฌ๋์ ์ฐฉ์ง ํ๋ณ์ 2๊ฐ๋ก ๋๋ ๋จ์. y์ถ ์ด๋์ด ์๋๊ฐ์ ์ง์ ํ ์ง๋ฉด ๋ ์ด์ด์ ๋ฐ์ด ๋ฟ์๋๊ฐ 2๊ฐ์. ์ด๊ฑฐ๋ณด๊ณ ์๊ฐ๋ฌ๋๋ฐ y์ถ ์ด๋์ด ์์๋ ๊ทธ๊ฑฐ ๋ด๊ฐ ๋ฃ์๊ฑฐ์ผ.. ๊ทธ๊ฑฐ ์๋ฃ๊ณ ๊ทธ๋ฅ ์ฐฉ์ง์ํ์ธ์ง ํ๋ณ๋ก ์๋๋๋ผ๊ณ ..ใทใท
ํผ์ง๋ฉํฐ๋ฆฌ์ผ์ ํ๋ ๋ง๋ค์ด์ friction๊ฐ์ 0์ผ๋ก ํ ๋ด์ ์บ๋ฆญํฐ์๋ค ์ ์ฉ์์ผ๋ด๋ผ. ๊ทธ๋ผ ๋ฒฝ์ ๋ถ์์ ๋ ๋ฐฉํฅํค๋ฅผ ๋๋ฅด๊ณ ์์ด๋ ๋ฏธ๋์ด์ง๊ฑฐ์.
else if(์ ํ) ์ด๋ถ๋ถ ์ง๋ฉด์ ๋ฟ์ง์์๋๋ฐ ์ ํ์ค์ด์ง ์๋๋ค๋๊ฑด ๋ํ์ค์ด๋ผ๋ ์ด๋ถ๋ถ์ ์ด๋จ์ ํ ๋ถ๋ถ์ธ๋ฐ.. ์ด๋ถ๋ถ๋ ๋ญ๊ฐ ์ด์ํ๊ฐ ์คํํ๊ณ ํ๋ฒ์ ์ด๋จ์ ํ๊ฐ ๋๋๋ฐ ๋๋ฒ์งธ๋ถํฐ ์ด๋จ์ ํ๊ฐ ์๋จ.. ๊ทธ๋ฆฌ๊ณ ์์ ๋งํ๊ฒ์ฒ๋ผ ์ฐฉ์ง ํ๋ณํ๋๊ฑธ๋ก๋ 1๋จ์ ํ๊ฐ์๋์ y์ถ ์์ง์์ผ๋ก ๋ด๊ฐ ๋ฃ์๊ฑฐ๊ณ .. ๋ญ๊ฐ ์์ค๊ฐ ์ด์ํ๊ฑด๊ฐ..
์.. ๊ตฟ.. ์บ๋ฆญํฐ์ค๋ธ์ ํธ ๋ณด๋ฉด ํผ์ง๋ฉํฐ๋ฆฌ์ผ์ ์ ์ฉ์ํค๋๊ฑฐ ์๊ธดํ๋๋ฐ ๊ฑฐ๊ธฐ์ ์๋ฃ์ด์ ๊ทธ๋ฐ๊ฐ๋ณด๊ตฐ..
๊ทธ๋ฐ๋ฐ ํผ์ง๋ฉํฐ๋ฆฌ์ผ์ ์ฒ์ ์ ํ๋๊ฑฐ๋ผ ์ด์ผ๋ง๋๋๊ฑฐ?
์ด ์คํฌ๋ฆฝํธ์ 2๋จ์ ํ๋ ์๋ค. ์ ๋ถ๋ถ์ ๋ํ์ ์ ํ์. ์ ํ์ํ๊ณ ๊ทธ๋ฅ ์งํ ๊ฐ์ฅ์๋ฆฌ์์ ๋จ์ด์ง๋ ๊ฒฝ์ฐ ์ ํ๋ฅผ ๋๋ฅด๋ฉด ์ฐฉ์ง ์ํ๊ฐ ์๋๋๋ผ๋ ์ ํ๋ฅผ ํ๊ฒ ํด์ฃผ๋ ๊ฑฐ์.
Projectํญ์ Create๋ฅผ ๋๋ฅด๋ฉด ๋์ด c#์คํฌ๋ฆฝํธ ๋ง๋ค๋ ๋๋ฅด๋ ๊ฑฐ ๋๋ฅด๋ฉด ์๋์ชฝ์ Physic Material ์ด ์์๊ฑฐ์
์ ๊ทธ๋ฌ๋ค ์คํฌ๋ฆฝํธ๋ฅผ ์๋ณธ๋ง๊ณ ์์ ํ๊ฑธ ์ ์๊ตฌ๋.. ์ฌํผ ์กฐ๊ธ์ฉ ๋ง์ถฐ์ง๊ณ ์๋๊ฑฐ ๊ฐ๊ธดํจ.
๊ตฟ๊ตฟ!!! ํผ์ง์ค๋ฉํฐ๋ฆฌ์ผ์ด ์ด๊ฑฐ์๊ตฌ๋ ์ด๊ฒ ๊ฐ์ฅ ๊ถ๊ธํ๋๋ฐ.. ์ ๋ํฐapi๊ฒ์ํด๋ ์์ด๋ก๋์ค๊ณ ํฌํธ์ ๊ฒ์ํด๋ ์๋์ค๊ณ ..
๊ทธ๋ฐ๋ฐ ์์ ์คํฌ๋ฆฝํธ๋ก ์คํํ๋ฉด ์คํดํ์๋ง์ ์ ์ ๋ก ์ ํ 1ํ๊ฐ ๋๋๋ฐ ์๊ทธ๋ด๊น?
update๋ฌธ์ if (GetComponent<Rigidbody2D>().velocity.y == 0) ์ด๊ฑด ์ง์ ๋ฃ์๊ฑฐ์? ๊ทผ๋ฐ ์ด๊ฑฐ ์์ด๋ ๋จ. ์๋ง ๋๊ฐ ์ธ์คํํฐ์์ groundLayers๋ฅผ ์ง์ ์ํด์ค์ ๊ทธ๋ฐ๊ฑฐ ์๋?
๊ทธ๋ฆฌ๊ณ ์์ ๋งํ๋ฏ์ด y์ถ ์์ง์๋ง๊ณ ๋ฐ๋ฅ๊ณผ ์ฐฉ์ง ํ๋ณ๋ก๋ 1๋จ์ ํ๋ ์๋๊ณ ..
ํ๋ฒ ๋ด๋ณผ๊ฒ
์ ์ ๋ก ์ ํ 1ํ๋ ์ ๋๊ฐ ๊ทธ๋ ๊ฒ ํ๋ ์ด ๋๋ค๋ ๊ฑธ ๋งํ๋๊ฑฐ์? ์๋๋ฉด ์ ๋ง ์๋ก ์ฌ๋ผ๊ฐ๋ค๋ ๊ฑฐ์? ๊ทผ๋ฐ ์ง๊ธ์ ๋๋ ์์ํ๋ก์ ํธ ๋ง๋ค์ด์ ํ ์คํธํด๊ฐ๋ฉฐ ๋ตํด์ฃผ๊ณ ์๋๋ฐ ๋ฑํ ๊ทธ๋ฐ ์ฆ์์ ์๋ค. ์ ๋๋ ํ ์คํธ ์ํ๊ณ ์๋๋ฐ ํน์ ์ ๋๋ฅผ ๋งํ๋ ๊ฑฐ๋ผ๋ฉด ์ด๊ธฐ ํธ๋์ญ์ ์ ๋ค์ ํ์ธํด๋ด๋ผ
์ค์ ๋ก ์ ํํด์ ์๋ก ์ฌ๋ผ๊ฐ.. ํ๋ ์ด์ด ์ค๋ธ์ ํธ์ ๊ทธ๋ผ์ด๋๋ ์ด์ด๋ฅผ ground๋ก ํ๊ณ ๊ทธ๋ค์ ๋ฐ๋ฅ๋ ํ๊ทธ ์์์๋ ๋ ์ด์ด ground๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋๊ฑฐ์๋? ๊ทธ๋ฐ๋ฐ ์๋๋ค ์ ํ๊ฐ..
์ธ์คํํฐ์์ GroundCheck๋ ์ง์ ํด์ค์ผํจ. GroundCheck๋ ๋ฐ ์์น์. ๋น ์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐ ์์น์ ๋ ๋ค์ ์ธ์คํํฐ์ ์ง์ ํด์ผ ํจ. ๊ทธ๋ฆฌ๊ณ ์บ๋ฆญํฐ์ rigidbody์์ ํ์ ์ ๊ธ์ ์์ผ๋ฌ์ผ ํจ.
ใ ใ ํ๋ฆฌ์ฆ ๋กํ ์ด์ ์์ ํ์ ์ ์ ๊ธํ์๊ณ ์๋ ๊ทธ๋ฆฌ๊ณ ๋น์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐ์์น์ ๋๋ผ๊ณ ? ์ฑ ์์๋ ๊ทธ ์บ๋ฆญํฐ๋ฅผ GroundCheck์ ์ง์ ํ๊ณ GroundLayers ์ฌ๊ธฐ์๋ค๊ฐ ๊ทธ๋ผ์ด๋ ๋ ์ด์ด ์ค์ ํด์ฃผ๊ณ ๋ฐ๋ฅ ์คํ๋ผ์ดํธ๋ ๋ ์ด์ดground๋ก ์ค์ ํ๋ผ๋๋ฐ
์ ๊ทธ๋ฅ ์ฌ๊ฐํ ์บ๋ฆญํฐ๋ผ ๋ชธํต์ผ๋ก ์ฒดํฌํ๋๋ณด๋ค. ๊ทธ๋๋ ๋๋ค. ๊ทผ๋ฐ ๊ทธ๋ ๊ฒ ํด๋ ์๋๋จ ๋ง์? ์ ํ์ํ๋ฉด ๋ด ํ๋ก์ ํธ ๋ค์ด ๋งํฌ ๊ฑธ์ด์ค
ใ ใ ํจ ๋น๊ตํ๋ฉด์ ํด๋ณผ๊ฒ.
https://www.dropbox.com/s/kabv8y9qsh1i173/testttt.unitypackage?dl=0
์ ๋๋ ์ฃผ์์ฒ๋ฆฌํด์ ์๋ ์ํ๊ฒ ํ์.
??๋ญ์ง?? ๋ด๊ฐ ์คํฌ๋ฆฝํธ ์์ฑ์ ๋ญ๊ฐ ์๋ชป ์ ๋ ฅํ์๋? ๊ทธ๋ฐ๋ฐ ๋ด ์คํฌ๋ฆฝํธ๋ฅผ ๋ณต์ฌํด์ ์ฌ๊ธฐ ์ง๋ฌธ์ ์ฌ๋ฆฐ๊ฑด๋ฐ ๊ทธ๊ฑธ ๊ธฐ๋ฐ์ผ๋ก ๋๊ฐ ํ ์คํธ ํ๊ณ ๊ทธ๊ฑธ๋ ๋ค์ ๋ณต์ฌํ๋๋ฐ ๋๋ค? ์ด๊ฑด ๋ญํ์์ด์ง?..ใทใท
์๋๋ค y์ถ ์ด๋ ๋ถ๋ถ์ ์์ง์์ ์๋๊ฑฐ์๊ตฌ๋.. ๊ทธ๊ฑฐ ์ง์ฐ๋๊ฐ ์๋๋ค..
์ด๊ฑด ์๊ทธ๋ฐ๊ฑฐ์ง? ์ด์ ์์ํ์๋ง์ ์ ์ ๋ก 1ํ ์ ํ๋๋๊ฑด ๊ณ ์ณ์ก๋๋ฐ.. ๊ทธ ์คํํ๊ณ ์ ํ ํ๋ฒ์ ๋๋๋ฐ ๋๋ฒ์งธ๋ถํฐ ์๋๋ค..
๊ทธ๋ฐ๋ฐ ์ด 1ํ๋ ๋ฐ๋ฅ ์คํ๋ผ์ดํธ๋ฅผ ๊ทธ๋ผ์ด๋๋ก ์ํ์๋๋ ๋๊ณ ..
์ ํ๊ฐ ์๋๋ค๋ ๊ฑด isGround๊ฐ false๋ก ๋์ด์์ด์ ๊ทธ๋ฐ ๊ฒ ๊ฐ์๋ฐ isJumping๊ณผ isGrounded์์ [HideInInspector]๋ฅผ ์ง์์ inspector์์๋ ๋ณด์ด๊ฒ ํด๋ด๋ผ ๊ทธ๋์ ๋ค์ ์คํํด์ ์ ํ ํ๊ธฐ ์ isGrounded์ ์ ํ ํ์ isGrounded๋ฅผ ๋น๊ตํด๋ด๋ผ
์ ๋ญ์ง ์์๋ค..ใ ใ ์ ๊ฑฐ groundCheckRadius๋๋ฌธ์..
isGrounded = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayers); ๋ groundCheck.position์ ๊ธฐ์ค์ผ๋ก groundCheckRadius ๋ฐ๊ฒฝ ์ฌ์ด์ groundLayers์ ๋ ์ด์ด๊ฐ์ ๊ฐ์ง๋ ์ค๋ธ์ ํธ์ ์ถฉ๋์ด ์์๋์ง๋ฅผ ๊ฒ์ฌํ๋ ๋ฌธ์. ๊ทผ๋ฐ groundCheckRadius๊ฐ ์บ๋ฆญํฐ์ ์ฌ์ด์ฆ๋ณด๋ค ๋๋ฌด ์์์ ์ถฉ๋์ฒดํฌ๊ฐ ์์ผ์ด๋๋๊ฑฐ์. ๋ ๋ฐ๋ฐ๋ฅ์ ์ ์ฉ ๋น์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐ๋ก ๊ณ์ฐํด์ ๋ ๊ฑฐ๊ณ
๋ด๊ฐ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค์ ์ค๋ช ํด์ค?
์ถฉ๋ ๊ฒ์ฌ radius๊ฐ์ ์บ๋ฆญํฐ ์ฌ์ด์ฆ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ๋์ด๋ฉด ๋ ๊ฑฐ์.
๊ทธ๋ฐ๋ฐ ์ ๊ธฐํ๊ฒ ๊ทธ๋ฅ ๋ ์ด์ด ๊ณ์ ๋ฐ๊พธ๊ณ ๋ง์ง์ ๊ฑฐ๋ฆฌ๋ ๋ ๊ฐ์๊ธฐ ๋๋ค?... ๊ทธ๋๋ ์ธ์คํํฐ์ ๋ณด์ด๊ฒํด๋ดค๋๋ฐ ๊ทธ๋ผ์ด๋๋๋ ์ฒดํฌ ๋์๊ณ ์ ํํด๋ ๊ณ์ ์ฒดํฌ๋๊ณ ์ ํ์ ๊ณ์ ์ฒดํฌ ์๋๊ณ ์ ํํด๋.. ๋ณํจ์ด์๋๋ฐ? ์ฌํผ ์ ๊ธฐํ๊ฑด ๊ณ์ ๋ ์ด์ด ๋ง์ง์๊ฑฐ๋ฆฌ๋ ๋๊ธดํ์..
์ฌํผ ๋ฌ์ผ๋ ๊ทธ๋ฅ ๋์ด๊ฐ๋ ๋๋ ค๋; ๋ญ ๋ ์ด์ด ๊ฐ์๋ฐ์ ๋ฌธ์ ๊ฐ์์๋.. ์ฌํผ ์ด ์ ํ ๋ถ๋ถ์ด ์ข ๊ป๋๋ฝ๋ค๋๊ฑฐ ๋ง๊ณ ๋ ๋ค๋ฅธ๋ถ๋ถ์ ์ง์ง ์ด๋์ ๋ ๋ฌด์จํ๋ฆ์ธ์ง๋ ์ดํด๊ฐ๋ฌ์ ์ด์ ๋ด๊ป์ผ๋ก ๋ง๋ค๊ณ ์์ฉํ๋๊ฑด ์ด๋ป๊ฒ ๊ณต๋ถํ๋๋์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง ์ฌํผ ์ดํด ์ด๋์ ๋ ๋ฌ์ ์ง์ง ๊ณ ๋ง๋ค..
์ ! ๋ง์ง๋ง์ผ๋ก ํ๊ฐ์ง๋.! ์ ํ ๋๋ฅด๋ฉด ๊ณ์ ๋ฌดํ์ ํ ๋๋ค.. ํ๋ ๋ซ๊ณ ๋ ๋ผ๊ฐ๋ค;ใ ใ ใ ์ด๊ฑฐ 2๋จ์ ํ๊น์ง๋ง ๋๊ฒ ํ๋ ค๋ฉด ์ด์ผ ํด์ผํ ๊ฐ.
๊ทธ๊ฑด isGrounded๊ฐ ๊บผ์ง์ง ์์์ ๊ทธ๋ฐ๊ฑฐ์. ๋ด๊ฐ ์์ ๋ฅผ ์ค ๋ ๋ ์ด์ด๋ฅผ ์๋ชป ์ค์ ํด์ ์คฌ๋ค. ์งํ์ด๋ ์บ๋ฆญํฐ๋ ์๋ก ๋ค๋ฅธ ๋ ์ด์ด๋ก ์ค์ ํด์ผ ํจ. ์งํ์ default๋ก ์บ๋ฆญํฐ๋ player๋ก ํด๋ผ
๊ทธ๋ฆฌ๊ณ ์บ๋ฆญํฐ์ Circle Collider 2D์ ๋ณด๋ฉด Radius๊ฐ์ด ์์์? ๊ทธ๊ฑธ ์คํฌ๋ฆฝํธ์ private float groundCheckRadius์ ๋์ ํด๋ผ. ๋์ค์ ๊ทธ๋ฅ ๊ทธ ๊ฐ์ ์ฝ์ด์๋ ๋ ํ ๋ฐ ๋ญ ์ผ๋จ ์ด๋ ๊ฒ ํด๋ผ. ๊ทธ๋ผ ์ถฉ๋๋ฒ์๊ฐ ์ปฌ๋ฆฌ์ด๋์ ๋ฐ๊ฒฝ๊ณผ ๊ฐ์์ง
๊ทธ๋ผ ๋ค ์ ์์ผ๋ก ์๋ํ ๊ฑฐ์. ์๊น ๋ฌดํ ์ ํ ๋๋๊ฑด ํ๋ ์ด์ด๋ ์งํ์ ๋ ์ด์ด๊ฐ ๊ฐ๋ค๋ณด๋ Physics2D.OverlapCircle์์ groundLayers์์ ๊ณ์ ์ฒดํฌ๊ฐ ๋์ ์ธ์ ๋ isGrounded๊ฐ true๋ก ๊ณ ์ ๋๋ ๋ฌธ์ ๊ฐ ์์์.
๋ ๋ ์ด์ด ๊ฐ๊ฒํ๋๋ฐ ๋๋๋ฐ? ๊ทธ ํ๊ทธ ์์์๋ ๋ ์ด์ด ๋๋ค ๊ทธ๋ผ์ด๋ ๋ ์ด์ด๋ก ์บ๋ฆญํฐ ๋ฐ๋ฅ ๋๋ค ๊ฐ๊ฒํ์.. ๊ทธ๋ฆฌ๊ณ ์ธ์คํํฐ์ ๋์ค๋ groundCheck๋ ๊ทธ๋ผ์ด๋๋ก ์ค์ ํด๋๊ณ ..
์ํ ๊ฐ๊ฒ ํ๋ฉด ๋ฌดํ์ ํ๊ฐ ๋๋๊ฑฐ๊ตฌ๋ ํจ ๋ค๋ฅด๊ฒํด๋ด.
groundCheckRadius = this.GetComponent<CircleCollider2D>().radius; ๊ทธ๋ฅ ์ด๋ ๊ฒ ํ๋ฉด์๋ ๊ฑฐ๊ฐ๊ณ ์บ๋ฆญํฐ์ ์๋ ์ปฌ๋ผ์ด๋์ ๋ฐ์ง๋ฆ ์ด์ผ๊ฐ์ ธ์ด?
๊ทธ๋ ๊ฒ ํ๋ฉด ์๋๋? ๊ทธ๊ฑธ Awake์ ๋ฃ์ผ๋ฉด ๋์์. 2๋จ ์ ํ๋ ์ข๋ง ๊ธฐ๋ค๋ ค๋ด๋ผ
์๋ ํ์ง ํด๋ณด์ง๋ ์์์ ๊ทธ๋ฐ๋ฐ ์ ๋ ๊ฒ ์ปดํฌ๋ํธ ์ปฌ๋ผ์ด๋ ํ๋ฉด ์บ๋ฆญํฐ์์ ๊ฐ์ ธ์ค๋๊ฑด์ง ์ ๋ํฐ๊ฐ ์ธ์ํ ์์์? ์บ๋ฆญํฐ์ ์ปฌ๋ผ์ด๋๋ผ๋ ๋ช ์๊ฐ ๋ฐ๋ก ๋ญ ์์ด์ผํ๋๊ฑฐ์๋?
์ค ๋ฌ์ด !! ์๋ฐ !!! ์๋ฐ! ๋ฌ๋ค๊ณ !!!! ์ด์ ๋๋ธ ์ ํ๋ง ๋๋ฉด๋๋ค!! ํ๋ ์ด์ด์ ์ปฌ๋ผ์ด๋๋ผ๊ณ ๋ช ์์ํ๊ณ ๊ทธ๋ฅ ๊ฒ์ปดํฌ๋ํธ ํด๋๋๋ค? ๋ฌด์จ์๋ฆฌ์ง..
์๊น ๋๊ฐ ๋๋ธ์ ํ ์๋๋ผ๋๊ฑฐ ๋๋ธ ์ ํ ๋ง๋๋ณธ๋ฐ? ๊ทธ๋ฅ ๋ฐ์ง๋ฆ ๊ฐ์ ธ์ค๋ ๋๋ธ์ ํ๋ ๋๋๋ฐ?
๋๋ธ์ ํ๊ฐ ์๋๋ผ ๊ทธ๋ฅ ๋ฌดํ์ผ๋ก ์ ํ๋์ง ์์? ๋๋ธ์ ํ๋ ๋ด๊ฐ ์๊น์ฒ๋ผ ๋๋๋ฐ์ค ๋งํฌ ๊ฑธ์ด์ค๊ฒ ์ ๊น๋ง
์ํ ์์๋ค.. ๊ทธ ์๊น ๊ฒ์ปดํฌ๋ํธ ์ปฌ๋ผ์ด๋ ๊ฐ์ ธ์ฌ๋ ๊ทธ ์คํฌ๋ฆฝํธ๊ฐ ์บ๋ฆญํฐ ์ค๋ธ์ ํธ์ ๋ค์ด๊ฐ์๊ณ ๊ทธ๋์ this.getcomponentํ๋ฉด ๊ทธ ์บ๋ฆญํฐ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ์ค๋๊ฒ ๋์ ๊ทธ๋ฐ๊ฑด๊ฐ?
๋๋ธ์ ํ๋ ๋ ์ด์ด๊ฐ ๊ฐ์์ ๊ณ์ true๋ก ์ธ์๋์ ๊ทธ๋ฐ๊ฑฐ๋ผ๋ฉฐ. ๊ทธ๋์ ๋ ์ด์ด ๋ค๋ฅด๊ฒํ๋๊ฐ ๋ฌดํ์ ํ ์๋๋๋ฐ? ๋๋ธ์ ํ๋ง๋๊ณ ?
์ ๊ทธ๋ฅ ๊ทธ ์คํธ๋ฆฝํธ๊ฐ ๋ถ์ด์๋ ์ค๋ธ์ ํธ์์ GetComponent๋ก ์ฐพ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฐ๊ฑฐ์. this๋ ์๋ตํด๋ ๋จ
์๋ ๋๋ธ์ ํ๊ฐ ์๋๋ผ ๋ฌดํ์ ํ๋ ๋ ์ด์ด๊ฐ ๊ฐ์์.. ๊ทธ๋์ ๋ค๋ฅด๊ฒ ํ๋ ๋๋ธ๋ง๋จ
https://www.dropbox.com/s/w3n2hc1ft3yib3x/test2.unitypackage?dl=0
๊ทธ๋ฐ๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋งํฌ์์ ๋ฐ์ํ์๊ฐ ์๋๊ฒ ์ด๋ฏธ ๋๋ธ์ ํ๋จ.. ๊ทธ๋ฆฌ๊ณ ์๊น ๋๊ฐ ๋งํ๊ฑธ๋ก ๋ด์๋ ๋ ์ด์ด๊ฐ ๊ฐ์์ ๊ณ์ ์ฐธ์ผ๋ก ์ธ์ํด์ ๊ทธ๋ฐ๊ฑฐ๋ผ๋ฉฐ ๊ทธ๋์ ๋ค๋ฅด๊ฒ ํ๋ ๋๋ธ์ ํ ์ ์์๋ํจ..
Update๋ฌธ์ KeyInput()์ผ๋ก ๋ฐ๊พผ ๋ค FixedUpdate์ ๋ฃ์ด๋์์. ๋ค ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์งํ๋ฉด์ ๋น์ทํ ๋ฐฉ์์ผ๋ก ์์ ํ๋ค๋ณด๋ ์ข ํท๊ฐ๋ ธ๋ค. ๊ทผ๋ฐ ์ด๋๋ก๋ ์ข ๋นํจ์จ์ ์ธ๊ฒ ๋๋ฌด ๋ง๊ณ ์์ ํด์ผ ๋ ๊ฒ ๋ง๋ค. ์ผ๋จ ์ด๊ฑฐ ๋ณด๋ฉด์ ์คํฌ๋ฆฝํธ๋ฅผ ์ดํดํ ๋ค์ ์ ๋ฆฌ๋ ํ๊ณ ๋ถํ์ํ ๋ถ๋ถ๋ ์ณ๊ฐ๋ฉด์ ์์ ํด์ผ ํ ๋ฏ. ์์ง ๊ฒ ์์ฑํ๋ ค๋ฉด ๋ฉ์์ผ๋๊น ๋๊ธํ๊ฒ ๋ง๋ค๋ค๊ฐ ๋์ค์ ์ค๋ ฅ ์ข ๋ถ์์ ๋ ์ฝ๋ ์น ์ ๋ฆฌํ๋ฉด ๋ ๊ฑฐ์.
ใ ใ ์์ง ์ฑ ๋ ๋ค๋ณธ๊ฑฐ์๋๋ผ ์ ์คํฌ๋ฆฝํธ ๋ณด๋ฉด์ ์ฑ ๋ค ๋ณด๋ฉด ์์ฑ๋๊ฑธ๋ก ์ง๋ฌธํ๊ณ ๋ชจ๋ฅด๋๊ฑฐ ์์ ๋ฌผ์ด๋ณด๊ณ ํ๋ฉด์ ๊ณ ์น๊ณ ๋ด๊ป๋ก ๋ง๋ค์ด์ผํ ๋ฏ.. ์ฌํผ ์ง๊ธ ์ฐ์ฌ ์ํ์์ ๊ถ๊ธํ๊ฑด ์น ํด๊ฒฐ๋ฌ๊ณ ์ด์์ ๋ ๋คํด๊ฒฐ ๋ฌ์ ! ์ง์ง ๊ณ ๋ง์. ๋กํ๋ํ!!!
ํ๋ ์ง์ ํ๊ณ ์ถ์ ๊ฑด Update๋ฌธ์ด๋ FixedUpdate๋ฌธ ๊ฐ์๋ฐ์ GetComponent๋ฅผ ๋ฃ์ด๋๋ฉด ์๋จ. ๊ฒ ๋๋ ค์ง. Awake์์ Animator๋ anim์ผ๋ก ๋ฐ๋ก ์ก์๋จ์์? ๋ค๋ฅธ๊ฒ๋ ๊ทธ๋ฐ์์ผ๋ก Awake๋ Start์์ ๋ฏธ๋ฆฌ ์ก์๋์ผ ํจ.
์ ๊ทธ๋ฆฌ๊ณ ๋งํฌ ๊ฑด ์คํฌ๋ฆฝํธ๋ ani๋ฅผ ์ฃผ์์ฒ๋ฆฌํด๋์๋ค. ๊ทธ๊ฑด ํ์ด์ค์ผ ํจ. ๊ทธ๋ผ ์๊ณ
์ ๋ํ๋ 2๋จ ์ ํ๋ ๋ํ์ ์๋ํ๊ฒ ํ๋๋ฐ ์ ํ ํ์ด๋ฐ์ด ๊ทธ๋ฆฌ ์ข๊ฒ ์๋๊ปด์ง์๋ ์์. ๋ช์ด ํ 2๋จ ์ ํ๋ฅผ ํ ์ ์๊ฒ ์ฝ๋ฃจํด์ ๋๋ฆฌ๊ฑฐ๋ ์๋๋ฉด ์๋์ ๋ณํ๊ฐ์ ๊ณ์ฐํด์ ๊ทธ๊ฒ ์ผ๋ง ์ดํ๋ก ๋ํ๋๋ฉด 2๋จ์ ํ๋ฅผ ํ ์ ์๊ฒ ํ๊ฑฐ๋ ๋์ค์ ๋ฐ๊พธ๋ ๊ฒ ์ข์๊ฑฐ์.
์ ๋๋ธ์ ํ ์ ๋จ? ๋ด๊ฐ ๋์ค์ ํผ๊ณคํด์ ๋ ๋ง๊ธ์ ์ฝ์ง๋ ์๊ณ ํผ์ ๋ง ๋ฌ์๋ค. ํ์ฌ๊ฐ ๋ญ ์ง๊ธ ์ด ์คํฌ๋ฆฝํธ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ๊ฐ์ ์์ฑ์ ์ํฌ ๊ฑด ์๋๋ ๊ทธ๋ฅ ์ ๋นํ ๋์ด๊ฐ์ ใ
ใ ใ ใ ใ ์ฌํผ ๊ณ ๋ง์ ์ง์ง ๋ญ๊ฐ ์ด์ ๋จธ๋ฆฟ์์ ๋ฐํ๋ ๊ธฐ๋ถ์ด๋ ๋ค ๊ณ์ ์ดํด์๊ฐ์ ๋ค์์ง๋ ๋ชป๋๊ฐ๊ณ ์์๋๋ฐ ใ ใ ์๊ณ ~