Roblox 애니메이션 및 VFX
기본 Roblox Studio MCP 및 셸과 함께 작동합니다. 참조 자료는 숙련된 Roblox VFX 아티스트가 실제로 수행하는 작업을 기록하며, 게시된 효과의 약 5,000개 파티클 이미터를 측정하여 작성되었습니다. 다음 지침을 따르세요: '슬롭(slop)'과 좋은 효과의 차이는 거의 전적으로 해당 숫자(팔레트, 어두운 레이어, 블룸 대비 밝기, 레이어 타이밍, 커스텀 텍스처)와 효과를 프레임별로 확인하는 데 있습니다.
매번 references/tools.md를 먼저 읽으십시오. 참조 자료는 원래 툴킷(build_instances, capture_moments, animation 및 blender 도구, upload_assets)용으로 작성되었습니다. tools.md에는 Studio MCP와 이 스킬의 스크립트를 사용하여 대신 사용할 항목이 명시되어 있습니다. 참조 자료에서 원래 도구를 언급하는 경우, tools.md가 매핑하는 대로 수행하십시오.
이 폴더(이 파일이 있는 곳)는 tools.md의 SKILL_DIR입니다.
구성
| 경로 | 설명 |
|---|---|
references/tools.md | Studio MCP, 셸 및 Blender로 모든 단계를 수행하는 방법. |
references/vfx-design.md | 효과의 용도, 팔레트, 가치, 밝기, 레이어, 타이밍. |
references/vfx-craft.md | 효과가 위치하는 곳, 이미트 모듈, 레이어 스켈레톤, 예산, 효과 확인 방법. |
references/vfx-textures.md | 효과 자체 텍스처 및 플립북 그리기(Blender + numpy). |
references/vfx-motion.md | 발사체, 일제 사격, 트레일, 빔, 슬래시, 대시, 오브, 오라. |
references/vfx-mesh-shapes.md | 초승달 및 링 메시, 소용돌이, 돔, 지면 파동(Blender 제작). |
references/vfx-camera-world.md | 카메라 쉐이크, FOV, 임팩트 프레임, 조명, 크레이터, 캐스트 포즈. |
references/vfx-rendered-flipbooks.md | 3D 씬에서 렌더링된 플립북. |
references/vfx-reference.md | 참조 클립 일치(일부: tools.md 참조). |
references/character-animation.md | 포즈 형식 및 테스트된 R15/R6 레시피. |
references/creature-animation.md | 리그, waves, gait 및 크리처 레시피. |
references/full.md | 애니메이션 재생: 트랙, 우선순위, 블렌딩, 마커. |
templates/vfx/emit.lua | 플레이어 모듈(VFX.play, VFX.emit, 슬로우 모션 및 힛스톱이 포함된 핸들). |
templates/vfx/build.lua | 참조 자료의 JSON 단계에서 인스턴스를 빌드합니다. |
templates/vfx/capture.lua | 재생 중인 효과를 선택한 순간에 고정하여 스크린샷을 촬영합니다. |
scripts/animate.mjs | 포즈 컴파일러 + 모션 검사 + 콘택트 시트 + Luau 출력(Node 18+). |
scripts/read_rig.lua | animate.mjs --rig-json을 위해 크리처의 리그를 읽습니다. |
scripts/blender_job.py, scripts/vfx_blender.py | fx.* 텍스처 및 메시 헬퍼와 함께 Blender 작업을 실행합니다. |
scripts/texture-tool.mjs | 플립북 시트를 확인합니다. Studio에 업로드하지 않고 텍스처를 미리 봅니다. |
scripts/upload.mjs | Open Cloud 업로드(텍스처, 메시, 애니메이션). |
빠른 참조
- 모든 시각 효과(히트, 슬래시, 폭발, 주문, 오라 또는 획득):
references/tools.md,references/vfx-design.md및references/vfx-craft.md를 로드하고, 필요한 주제를 추가로 로드하십시오:vfx-textures.md: 효과 자체 텍스처를 그리기 위한(대부분의 효과는 자체 텍스처를 사용해야 하며, 내장된rbxasset://textures/particles/*는 임시 대용일 뿐입니다);vfx-motion.md: 이동하거나 휘두르거나 고정되는 모든 것;vfx-mesh-shapes.md: 초승달, 링, 소용돌이 및 돔 메시;vfx-camera-world.md: 카메라, 화면 및 지면 반응, 그리고 코드로부터의 캐스트 포즈;vfx-rendered-flipbooks.md: 3D 씬에서 렌더링된 시트;vfx-reference.md: 사용자가 참조 클립을 제공한 경우.
- 효과를 좋게 만드는 루프: 디자인(동작 이름 지정, 약 5가지 색상 선택, 어두운 레이어 및 강도 곡선 계획) >
ReplicatedStorage.VFX에 이미트 속성으로 빌드 > 가까이서 그리고 플레이어 카메라로 4-6개 순간에 고정하여 캡처 > 프레임에서 보여지는 문제 수정 > 반복. 단일 스크린샷이나 코드만으로 효과가 완성되었다고 판단하지 마십시오. - 캐릭터 애니메이션:
references/character-animation.md및references/tools.md를 로드합니다. 가장 가까운 레시피에서 포즈 JSON을 작성합니다.--sheet플래그와 함께scripts/animate.mjs를 실행하고 시트를 확인합니다. 모든 검사를 통과할 때까지 수정합니다.execute_luau로 생성된 Luau를 전송하고 더미에서 미리 봅니다. 먼저 플레이스의 플레이어가 사용하는 리그(R15 또는 R6)를 확인하십시오. - 크리처 또는 비표준 모델: 또한
references/creature-animation.md를 로드하고,scripts/read_rig.lua로 리그를 읽은 후--rig-json을 전달합니다. Humanoid또는AnimationController의Animator를 통해 트랙을 로드합니다.AnimationTrack.Priority를 의도적으로 설정합니다.- 게임플레이 신호(히트 착지)에는 키프레임의
markers에서GetMarkerReachedSignal()을 사용합니다. 키프레임의name은 마커가 아닙니다. 공격 효과는 타이머가 아닌 마커에서 재생합니다. - 버스트
ParticleEmitter는 일반적으로Rate = 0이며 이미트 모듈을 통해EmitCount/EmitDelay에서 발사합니다. - 효과는 프레젠테이션입니다: 서버는 효과 이름과 CFrame과 함께
UnreliableRemoteEvent를 발생시키고, 각 클라이언트는VFX.play를 호출합니다. 피해가 효과를 기다리게 하지 마십시오. - 정착된 텍스처, 메시 및 애니메이션만 업로드하십시오: 모든 업로드는 영구적이며 검토됩니다. 먼저 업로드할 항목 수를 알리십시오.
효과는 눈으로 판단됩니다. 완료되면 사용자에게 확인한 사항을 알리고 플레이테스트에서 최대 속도로 확인하도록 요청하십시오.