이동 개체 생성

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

이동 개체 는 3D 공간 내에서 하나 이상의 축에서 이동하는 개체입니다.Roblox의 시뮬레이션 엔진의 기본 제공 전원을 사용하여 플레이어에게 친숙하고 직관적인 실제 세계 물리 행동, 중력, 공기 역학 및 마찰과 같은 것을 모방하는 방식으로 개체를 이동시키고 환경과 상호작용할 수 있습니다.

이 자습서에서는 이동 개체.rbxl을 참조로 사용하여 Studio에서 물리적 힘이 직선 운동에 어떻게 영향을 미치는지 설명하고, 다양한 이동 행동에 대한 가이드라인을 포함하여 점 A에서 점 B로 개체를 이동하는 다양한 기술을 보여줍니다.

  • LinearVelocity 이동 제약 조건을 사용하여 상수 선형 속도로 전체 어셈블리를 이동합니다.
  • PrismaticConstraint를 사용하여 조립을 단일 축으로 제한하고 3D 공간의 특정 지점에 대한 상수 선형 속도로 이동합니다.
  • ApplyImpulse 메서드를 사용하여 초기 힘의 충격으로 조립을 이동하여 조립이 시간에 따라 천천히 감소합니다.

선형 이동 및 물리적 힘

Roblox Studio는 실제 세계 시뮬레이션 엔진으로, 물리적 행동을 실시간으로 모방하여 직선으로 이동하는 개체가 경험에서 어떻게 행동할 수 있는지 예측하기 위해서는 직선 운동으로 실제 세계에서 개체가 이동하는 방법에 대한 높은 수준의 이해가 필요합니다. 선형 이동 은 축을 따라 이동하는 것입니다. 예를 들어, 블록에 선형 이동이 있으면 설정된 축을 따라 이동합니다.

A gray block in front of a dark background. The movement axis is highlighted, and it faces toward the left of the screen to signify that the block is going to move along the world's Y axis.

선형 이동은 물체를 이동하기 위해 외부 물리적 힘이 밀거나 당기지 않으면 존재할 수 없습니다.뉴턴의 첫 번째 운동 법칙에 따르면, 정지 물체는 외부 힘에 의해 작용하지 않는 한 정지 상태를 유지하고 이동 물체는 상수 속도로 이동하지만 외부 힘에 의해 작용하지 않으면 고정 상태로 유지됩니다.예를 들어, 바람과 같은 물리적 힘이 그것을 이동시키지 않는 한 고정 블록은 고정 상태로 유지됩니다.

강제 는 축을 따라 물체의 선형 속도를 변경시키는 물리적 밀기 또는 당기기의 방향과 크기를 측정합니다.속도의 변화는 가속 으로 알려져 있습니다.이 개념은 스튜디오에서 개체를 이동하는 데 특히 중요합니다; 개체에 적용하는 힘이 많을수록 개체가 더 빨리 가속됩니다.

이는 힘이 중력이나 마찰과 같은 물리적 힘보다 커야 하기 때문입니다.예를 들어, 블록을 금속 플레이트에 배치하면 바람의 물리적 힘이 금속 플레이트의 마찰량을 극복해야 블록의 가속을 계속할 수 있습니다.바람의 힘이 금속 플레이트의 마찰보다 훨씬 크지 않으면 블록이 느리게 가속되지만 이전 예제보다는 더 느립니다.

A gray block in front of a dark grey metal plate with a diagram that signifies the block will have a plate friction to slow the block's movement from the wind.

선형 속도 는 개체의 이동 정도 또는 개체가 시간에 걸쳐 축을 따라 위치를 변경하는 속도입니다.스튜디오는 개체가 초당 이동하는 스터드 수에 따라 선형 속도를 측정합니다.스터드는 길이를 측정하기 위한 Roblox의 주요 물리적 단위이며, 각 스터드는 실제 세계에서 약 28cm에 해당합니다.

A gray block in front of the default baseplate's 4x4 grid texture. A single stud cube rectangle is highlighted.

선형 속도를 이해하는 것은 경험에서 게임플레이를 디자인하는 데 중요하며, 이동 개체에 대한 특정 속도를 달성하기 위해 필요한 힘을 결정하는 데 도움이 됩니다.예를 들어, 개체를 위쪽으로 추진하려는 경우 환경 내에서 중력을 극복하기 위해 포스를 어떻게 조정해야 하는지 고려하는 것이 중요합니다. 그렇지 않으면 개체가 정확하게 이동하지 않습니다.

다음 섹션에서는 환경 내의 모든 반대 물리적 힘을 극복하기 위해 상수 또는 초기 선형 속도로 개체를 이동하는 방법을 배우면서 이러한 개념을 더 깊이 살펴봅니다.이러한 물리 개념을 최신 기술로 검토할 때, Studio에서 어떤 이상적인 선형 이동 동작을 달성하기 위해 속성 값을 조정하는 방법을 더 정확하게 예측할 수 있습니다.

일정한 선형 속도 유지

개체가 상대적인 물리적 힘을 극복하고 상수 선형 속도에 도달하여 유지하려면 개체의 선형 속도를 감소시키거나 개체가 정지하도록 만드는 힘이 필요합니다.예를 들어, Studio에서 개체의 선형 속도가 [0, 12, 0] 인 경우 개체가 환경의 Y축을 따라 초당 12스터드에 도달하고 유지할 수 있도록 충분한 힘이 필요합니다.

필요한 힘의 양은 환경 자체의 반대 물리적 힘(중력과 마찰 등)뿐만 아니라 개체 자체에도 달려 있습니다.예를 들어, 동일한 축에서 이동하는 두 개의 동일한 모양의 개체가 있는 경우, 질량이 더 많은 개체는 동일한 선형 가속을 달성하기 위해 더 많은 힘이 필요합니다.

작은 삼각형 부분에는 작은 질량이 있으므로 동일한 가속을 얻기 위해 더 적은 힘이 필요합니다.
큰 삼각형 부품은 많은 질량을 가지고 있으므로 동일한 가속을 얻기 위해 더 많은 힘이 필요합니다.

다음 하위 섹션에서는 다양한 모양과 크기의 어셈블리를 사용하여 전체 개체나 개체의 일부만 상수 선형 속도로 이동하는 방법을 가르칩니다.다른 속성 값으로 실험하면서, 자신의 경험에서 조립에 필요한 최대 힘을 예측하는 방법을 배울 것입니다.

선형 속도 제약 사용

LinearVelocity 개체는 전체 조립에 힘을 적용하여 상수 선형 속도를 유지하는 이동 제약 조건의 유형입니다.이동 중에 조립의 위치를 축에 고정하지 않으면 조립은 3D 공간에서 다른 개체와 충돌할 때 자유롭게 회전할 수 있습니다.이러한 유형의 움직임은 플레이어가 예측하기 어려운 놀라운 게임 시나리오로 이어집니다.

연꽃이 서로 충돌하면서 방향을 바꾸지만 일정한 선형 속도로 계속 강을 흐릅니다.

조립을 이동하기 시작하려면 LinearVelocity 제약 조건이 알아야 하는 것:

  • 힘을 적용할 지점과 긍정적이거나 부정적인 방향.
  • 조립이 초당 이동하는 스터드 수입니다.
  • 엔진이 조립에 적용할 수 있는 최대 힘으로, 상수 선형 속도에 도달합니다.

이 프로세스를 보여주려면 첨부 파일을 사용하여 리리 패드를 구성하여 세계의 부정 X축에서 일정한 선형 속도로 리리 패드 스터드 개를 초당 이동하도록 합니다.

A close up view of a lily pad. The lily pad's constraint visual aid is visible, and it points to the right, which is the world's negative X axis.

부착물 추가

조립에 Attachment 개체를 추가하여 적용할 포인트를 지정하고 3D 공간에서 부착물의 위치를 구성하여 부착물을 적용할 수 있습니다.샘플 이동 개체 경험은 제약 조건이 메시를 특정 축을 따라 이동할 수 있도록 리리 패드 중앙에 부착물을 배치합니다.

첨부 파일에는 이동 축을 시각화하는 데 도움이 되는 시각적 보조 도구가 포함됩니다.노란색 화살표는 부착물의 주축을 나타내고, 주황색 화살표는 부착물의 보조 축을 나타냅니다.이 기술의 단계에서 움직임 축은 일리 패드의 움직임에 영향을 주지 않지만, 다음 기술의 PrismaticConstraint와 같은 제약 조건에 대한 이상적인 행동을 결정하는 데 도움이 될 수 있는 시각적 도움말을 미래에 이해하는 것이 중요합니다.

A attachment's visual aid arrows. The yellow arrow that signifies the attachment's primary axis points up, and the orange arrow that signifies the attachment's secondary axis points to the right.

부착물을 추가하려면:

  1. 탐색기 창에서 선형 속도 예제 폴더를 확장한 다음 자식 LilyPad_DIY 모델을 확장합니다.

  2. 첨부 파일을 패드 메시에 삽입합니다.

    1. 메시 위로 마우스를 이동하고 ⊕ 버튼을 클릭하십시오. 컨텍스트 메뉴가 표시됩니다.
    2. 메뉴에서 첨부 파일 을 삽입합니다. 첨부 파일은 부품 중앙에 표시됩니다.
    3. 첨부 파일을 이동 첨부 로 이름 바꾸기.
    A close up view of a lily pad and its attachment visual aid. The primary axis points away from the camera, and the secondary axis points upward.

제약 조건 구성

이제 메쉬에 리리 패드를 이동할 고정 지점이 있으므로 LinearVelocity 제약 조건의 속성을 구성하여 상수 선형 속도, 메쉬가 초당 이동하는 스터드 수, 메쉬가 상수 선형 속도에 도달하기 위해 엔진이 적용할 수 있는 최대 힘을 지정할 수 있습니다.

샘플 이동 개체 경험은 세계의 부정적인 X축을 따라 일정한 선형 속도로 15스터드의 연근을 움직이기 위해 5000Rowtons의 상수 힘을 적용합니다.로튼은 힘을 측정하기 위한 Roblox의 주요 물리적 단위입니다.Roblox의 물리적 단위와 그들이 미터법 단위로 변환되는 방법을 참조하려면 Roblox 단위를 참조하십시오.

LinearVelocity 제약 조건을 구성하려면:

  1. (옵션) 3D 공간에서 제약 조건을 표시하여 선형 방향을 참조할 수 있습니다.

    1. 도구 모음의 모델 탭으로 이동한 다음 제약 조건 섹션.
    2. 현재 활성화되지 않은 경우 제약 조건 세부 정보 를 클릭하여 제약 조건 시각적 도움말을 표시합니다.
    A close up view of the Studio's Constraints section UI.
  2. 패드 메시에 제약 조건을 삽입하십시오.

    1. 탐색기 창에서 메시 를 가리고 ⊕ 아이콘을 클릭하면 컨텍스트 메뉴가 표시됩니다
    2. 컨텍스트 메뉴에서 선형 속도 를 삽입합니다.
  3. 메시의 부착물을 새 제약조건에 할당합니다.

    1. 탐색기 창에서 제약 조건 을 선택합니다.
    2. 속성 에서,
      1. Set 첨부 파일0 to 첨부 파일 이동 .
      2. 최대 힘5000으로 설정하여 대상 선형 속도를 달성하기 위해 최대 5000 뉴턴의 상수 힘을 적용합니다.
      3. 세계 위치와 방향에 관련된 연근을 이동하기 위해 RelativeTo세계 로 유지합니다.
      4. 속도 제한 으로 설정하여 부착물에서 선을 따라 힘을 제한합니다.
      5. 세트 선 방향-1, 0, 0으로 설정하여 세계의 부정 X축을 따라 연꽃 패드를 이동합니다.이 속성을 1, 0, 0 설정하면 연꽃이 세계의 긍정적인 X축을 따라 이동합니다.
      6. 설정 라인 속도15 로 이동하여 연꽃 패드를 초당 15스터드 이동합니다.
    A close up view of a lily pad and its constraint visual aid arrow that points to the right, or the world's negative X axis.
  4. 설정한 힘의 양이 세계의 부정 X축을 따라 매시 15스터드 이동하는지 확인합니다.

    1. 도구 모음에서 테스트 탭으로 이동합니다.
    2. 플레이테스트 모드에서 실행 을 선택합니다. 스튜디오는 아바타가 3D 공간에 없는 현재 카메라 위치에서 경험을 시뮬레이션합니다.
    Rapid playtest options in Studio.

프리즘 제약 조건 사용

PrismaticConstraint 개체는 두 부착물 사이의 단단한 조인트를 생성하는 메카닉 제약조건 유형으로, 부모 어셈블리가 서로 대비해 한 축을 따라 이동할 수 있습니다 서로 대비해 .두 어셈블리의 위치를 단일 축으로 잠금하여 각 어셈블리는 동일한 방향으로 함께 회전하는 경우에만 회전할 수 있습니다.

이러한 유형의 움직임은 플레이어가 예측하기 쉬운 안정적인 게임플레이 시나리오로 이어집니다.예를 들어, 샘플 이동 개체 경험은 플레이어가 거대한 강을 신중하게 건너기 위해 사용할 수 있는 로그 플랫폼을 이동하기 위해 PrismaticConstraint 개체를 사용합니다.

PrismaticConstraint.ActuatorType 모터 로 설정하면 이 제약 조건이 적용되어 부착물이 일정한 선형 속도에 도달하고 유지하도록 두 부착물에 힘을 가합니다.부착물의 부모 어셈블리 중 하나를 고정하면 고정된 어셈블리는 고정된 상태로 유지되면서 고정되지 않은 어셈블리가 일정한 선형 속도로 계속 이동합니다.

조립을 이동하기 시작하려면 PrismaticConstraint 제약 조건이 알아야 하는 것:

  • 힘을 적용할 지점과 긍정적이거나 부정적인 방향.
  • 부착물이 초당 이동하는 스터드 수입니다.
  • 엔진이 부착물과 부모 어셈블리에 적용할 수 있는 최대 힘으로, 상수 선형 속도에 도달하기 위해.

이 프로세스를 보여주기 위해, 당신은 세계의 음성 축을 따라 40스터드 씩 시간당 이동하는 로그를 이동하기 위한 두 개의 개체가 있는 로그 어셈블리를 구성할 것입니다.To demonstrate this process, you will configure a log assembly with two objects that have child attachments that a PrismaticConstraint references to move the log 40 studs per second along the world's negative X axis at a constant linear velocity.

A close up view of a brown log on top of a river. The log's constraint visual aid is visible and points to the right, or the world's negative X axis.

부착물 구성하기

조립에 두 개의 Attachment 개체를 추가하여 조립 내에서 특정 개체를 이동할 방향을 지정하고 3D 공간에서 배치 및 방향을 구성하면 됩니다.샘플 이동 개체 경험은 고정되지 않은 로그가 고정된 부품과 겹치는 위치 근처에서 세계의 X축을 따라 두 개의 부착물을 맞추고 각 부착물의 주 축을 세계의 부정 축으로 향하게 합니다.

다음 섹션에서 프리즘 제약 조건 제약 조건을 구성할 때, 로그가 관련 으로 앵커 부분으로 이동합니다.즉, 로그는 3D 공간에 고정되어 있기 때문에 움직일 수 없는 정지 부분에서 멀리 이동합니다.

프리즘 제약 조건에 대한 첨부 파일을 구성하려면:

  1. 탐색기 창에서 PrismaticConstraintExample 폴더를 확장한 다음 자식 Log_DIY 모델을 확장합니다.

  2. 로그 메시에 첨부 파일을 삽입합니다.

    1. 메시 위로 마우스를 이동하고 ⊕ 버튼을 클릭하십시오. 컨텍스트 메뉴가 표시됩니다.
    2. 메뉴에서 첨부 파일 을 삽입합니다. 첨부 파일은 부품 중앙에 표시됩니다.
    3. 첨부 파일을 로그 첨부 로 이름 바꾸기.
    A close up view of a log and its attachment visual aid. The primary axis points toward the camera, and the secondary axis points upward.
  3. 동일한 프로세스를 사용하여 첨부 파일을 앵커 부분에 삽입한 다음 첨부 파일 이름을 앵커 첨부 로 변경합니다.

    A close up view of a log and two attachment visual aids. The primary axis of the new attachment visual aid points to the right, and the secondary axis points upward.
  4. 세계 좌표를 참조하기 위해 보기 선택기 도구를 사용하여 각 첨부 파일의 주축이 세계의 부정 X축을 향할 때까지 로그 첨부앵커 첨부 를 회전

    A close up view of a log and its attachment visual aid. Both attachments have a primary axis that points to the right, and a secondary axis that points upward.
  5. 앵커 부착물 을 재배치하여 두 부착물이 세계의 X축에 맞게 정렬됩니다.

    A close up view of a log and its attachment visual aids that are now positioned horizontally. Both attachments have a primary axis that points to the right, and a secondary axis that points upward.

제약 조건 구성

이제 첨부 파일이 동일한 축에 맞춰 정렬되고 원하는 방향으로 이동하려는 로그에 대해 스터드 수와 엔진이 로그에 도달할 수 있는 최대 힘의 양을 지정할 수 있는 PrismaticConstraint 제약 조건의 속성을 구성하여 각 첨부 파일의 주 축에서 대상 상수 선형 속도를 긍정적 또는 부정적 방향으로 적용할지, 첨부 파일이 초당 이동하는 양과 엔진이 로그에 적용할 수 있는 최대 힘의 양을 지정할 수 있는지 여부를 지정할 수 있습니다.

자체 사용 사례에 대해 다른 값을 선택할 수 있지만 샘플 이동 개체 경험은 세계의 부정 X축을 따라 일정한 선형 속도로 40도 각도의 부착물을 초당 5만 행턴의 상수 힘으로 이동하기 위해 5만 행턴의 상수 힘을 적용합니다.그러나 앵커 부착물이 고정된 개체에 있기 때문에 로그의 부착물만 이동할 수 있습니다.

프리즘 제약 조건을 구성하려면:

  1. PrismaticConstraint 개체를 로그 메시에 삽입합니다.

    1. 탐색기 창에서 메시 를 가리고 ⊕ 아이콘을 클릭하면 컨텍스트 메뉴가 표시됩니다
    2. 컨텍스트 메뉴에서 프리즘 제약조건 을 삽입합니다.
  2. 로그의 첨부 파일을 새 제약 조건에 할당하여 로그가 고정된 블록 부분과의 관계에서 이동합니다.

    1. 탐색기 창에서 제약 조건 을 선택합니다.
    2. 속성 에서,
      1. 첨부 파일0앵커 첨부 로 설정합니다.
      2. 첨부 파일1로그 첨부 로 설정합니다. 제약 조건이 뷰포트에 표시됩니다.
    A close up view of a log and its constraint visual aid. It doesn't have a arrow visual aid because it doesn't yet have a set velocity.
  3. 탐색기 창에서 제약 조건을 선택한 다음 속성 창에서

    1. 액추에이터 유형모터 로 설정합니다. 새 속성 필드가 표시됩니다.
    2. 설정 모터 최대 토크50000 적용하여 목표 선형 속도에 최대 50000 뉴턴의 상수 토크를 적용합니다.
    3. 속도40로 설정하여 로그를 초당 40스터드 이동합니다.
    A close up view of a log and its constraint visual aid arrow that points to the right, or the world's negative X axis.
  4. 설정한 힘의 양이 세계의 부정 X축을 따라 초당 40스터드의 로그를 이동하는지 확인합니다.

    1. 도구 모음에서 테스트 탭으로 이동합니다.
    2. 플레이테스트 모드에서 실행 을 선택합니다. 스튜디오는 아바타가 3D 공간에 없는 현재 카메라 위치에서 경험을 시뮬레이션합니다.
    Rapid playtest options in Studio.

초기 선형 힘 적용

개체의 선형 속도를 변경하는 또 다른 방법은 힘의 충격을 적용하는 것입니다.힘의 충격 이후, 마찰과 같은 반대 힘이 있는 경우 정지될 때까지 개체가 감소하거나, 반대 힘이 없는 경우 일정한 선형 속도로 움직이면서 유지됩니다.

이 기술은 폭발이나 영향력 있는 충돌과 같은 중요한 게임플레이 이벤트 후에 개체를 이동하는 데 유용하며, 플레이어에게 즉시 피드백을 제공하기 때문입니다.시연을 위해 다음 섹션에서는 플레이어의 캐릭터를 새로운 값으로 조정하여 자신의 게임플레이 요구 사항에 맞출 수 있는 초기 충격으로 점프 패드와 충돌했을 때 하늘으로 캐릭터를 발사하는 방법을 가르쳐줍니다.

응용 임펄스 사용

방법은 전체 조립에 힘을 적용하여 저항력이 있을 때 느려지기 전에 초기 선형 속도를 얻기 위해 느려지기 전에 힘을 가합니다.The 방법은 전체 조립에 힘을 적용하여 저항력이 있을 때 느려지기 전에 초기 선형 속도를 얻기 위해 느려지기 전에 힘을 가합니다.어셈블리를 이동하기 시작하려면 메서드가 알아야 하는 것은:

  • 이동할 어셈블리.
  • 초기 선형 속도에 도달하기 위해 적용할 축.
  • 각 축에 적용할 힘의 양.

스크립트에서 이러한 모든 값을 정의할 수 있습니다.예를 들어, 샘플 스크립트는 플레이어 캐릭터의 Humanoid 개체로 이동하는 조립을 정의하고, 세계의 양 축에서 위쪽으로 플레이어를 발사하기 위해 2500 로트톤 초의 힘 자극을 적용합니다.플레이어 캐릭터는 질량이 다르기 때문에 모든 플레이어를 발사하기 위해 이 힘을 증가시키고 균형을 맞춰야 할 수 있습니다. 질량이 작은 플레이어 캐릭터를 너무 높이 발사하지 않고 모든 플레이어를 발사하려면 이 힘을 증가시키고 균형을 맞춰야 합니다.

조립을 ApplyImpulse로 이동하려면:

  1. 탐색기 창에서 ApplyImpulseExample 폴더를 확장하고 그 자식 JumpPad_DIY 모델을 확장합니다.

  2. 점프패드 부분에 스크립트를 삽입하십시오.

    1. 부품 위로 마우스를 이동하고 ⊕ 버튼을 클릭하십시오. 컨텍스트 메뉴가 표시됩니다.
    2. 메뉴에서 스크립트 를 삽입합니다. 부품 중앙에 부착물이 표시됩니다.
    3. 스크립트를 JumpScript 로 이름 바꾸기.
  3. 기본 코드를 다음 코드로 바꿉니다: replace the default code with the following code:


    local volume = script.Parent
    local function onTouched(other)
    local impulse = Vector3.new(0, 2500, 0)
    local character = other.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and other.Name == "LeftFoot" then
    other:ApplyImpulse(impulse)
    end
    end
    volume.Touched:Connect(onTouched)