Rigidbody2D의 linearVelocity
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
linearVelocitylinearVelocity는 Rigidbody2D가 현재 어떤 방향으로 얼마나 빠르게 움직이고 있는지를 나타내는 속성입니다. Vector2 형태로 X축과 Y축의 속도를 저장하며, 단위는 일반적으로 초당 유니티 월드 유닛(unit/s)입니다. 예를 들어 linearVelocity = new Vector2(3, 5)라면 오브젝트가 오른쪽으로 초당 3유닛, 위쪽으로 초당 5유닛의 속도로 이동한다는 뜻입니다. 이 값은 월드 좌표계를 기준으로 하며, 물리 엔진이 충돌·중력·힘 등을 계산할 때 계속 변경될 수 있습니다.
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f;
private Rigidbody2D rb;
void Awake()
{
rb = GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
// 수직 속도는 유지하면서 수평 속도만 변경
rb.linearVelocity =
new Vector2(moveSpeed, rb.linearVelocity.y);
}
}
위 코드에서 rb.linearVelocity.y를 그대로 유지하는 이유는 점프나 중력으로 발생한 수직 속도를 지우지 않기 위해서입니다. 만약 new Vector2(moveSpeed, 0)을 계속 대입하면 Y축 속도가 매번 0으로 바뀌어 정상적인 낙하나 점프가 방해될 수 있습니다.
| 항목 | 설명 |
|---|---|
| 자료형 | 2D에서는 Vector2, 3D에서는 Vector3 |
| 단위 | 초당 월드 유닛 |
| X 값 | 좌우 이동 속도 |
| Y 값 | 위아래 이동 속도 |
| 값 읽기 | 현재 오브젝트의 이동 속도를 확인 |
| 값 변경 | 이동 속도를 즉시 새로운 값으로 설정 |
| 권장 위치 | 물리 주기에 맞춰 FixedUpdate()에서 변경 |
| 관련 설정 | Gravity Scale, Linear Damping, 충돌 및 외부 힘의 영향을 받음 |
linearVelocity에 값을 직접 대입하면 기존 속도를 즉시 덮어쓰므로 캐릭터의 일정한 이동이나 점프 속도를 정확하게 지정할 때 유용합니다. 반면 AddForce()는 힘을 누적하여 질량과 물리 조건에 따라 점진적으로 가속시키므로 밀기, 폭발, 바람과 같은 자연스러운 물리 효과에 적합합니다. 즉, 정확한 속도 제어에는 linearVelocity, 물리적인 가속 표현에는 AddForce()를 사용하는 것이 일반적입니다. 또한 linearVelocity는 이동 속도이므로, 회전 속도를 나타내는 angularVelocity와는 구분해야 합니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다



게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.


안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.