Creator Guide
Korean
Korean
  • 🚩OVERDARE 소개
  • 🐤시작하기
    • OVERDARE App
    • OVERDARE Studio
  • 📌운영 정책
    • 커뮤니티 가이드라인
    • UGC 콘텐츠 제작 가이드라인
    • UGC의 외부 활용 가이드라인
    • LOGO 활용 가이드라인
    • 지식 재산권 정책
    • 신고 안내
    • 콘텐츠 제재 이의 신청 안내
    • 크리에이터 정산 정책
    • OVERDARE 수익화 가이드라인
  • 🏰스튜디오 메뉴얼
    • 스튜디오 인터페이스
    • 에셋 임포트
    • 좌표계
    • 게임 설정
    • 스튜디오 테스트 플레이
    • 월드 퍼블리시
    • Collaboration
    • 스크립트 에디터
    • 정렬
    • 애니메이션 에디터
    • Material Manager
    • Collision Groups
    • Tag Editor
    • Payout Guideline
    • Object
      • 파트
      • 모델
      • 캐릭터
        • Humanoid Description
      • 카메라
      • 물리
      • 조명
      • Tool
      • VFX
      • Sound
      • GUI
  • 📝스크립트 메뉴얼
    • 스크립트 개요
    • 루아 기초 가이드
    • 코딩 스타일
    • 오브젝트 참조
    • 이벤트
    • 서버-클라 통신
    • BindableEvent
    • Value Objects
    • 모바일 조작 처리
    • 트윈
    • 중단점
    • 모듈 스크립트
    • TPS Strafing System
    • Saving & Loading Data
    • 유니티 개발자용 가이드
    • 스크립트 최적화 실전 가이드
  • 📚API Reference
    • Enums
      • ActuatorRelativeTo
      • AnimationPriority
      • AspectType
      • AssetTypeVerification
      • BorderMode
      • CameraMode
      • CameraType
      • ContextActionResult
      • CoreGuiType
      • DominantAxis
      • EasingDirection
      • EasingStyle
      • ForceLimitMode
      • HttpCompression
      • HttpContentType
      • HumanoidDisplayDistanceType
      • HumanoidStateType
      • KeyCode
      • Material
      • MaterialPattern
      • NormalId
      • ParticleEmitterShape
      • ParticleEmitterShapeInOut
      • ParticleEmitterShapeStyle
      • ParticleFlipbookLayout
      • ParticleFlipbookMode
      • ParticleOrientation
      • PartType
      • PlaybackState
      • RaycastFilterType
      • RollOffMode
      • RotationType
      • UserInputState
      • UserInputType
      • VelocityConstraintMode
    • DataTypes
      • BlendSpaceSampleSata
      • BrickColor
      • CFrame
      • Color3
      • ColorSequence
      • ColorSequenceKeypoint
      • Content
      • Enum
      • EnumItem
      • NumberRange
      • NumberSequence
      • NumberSequenceKeypoint
      • OverlapParams
      • PhysicalProperties
      • Ray
      • RaycastParams
      • RaycastResult
      • ScriptConnection
      • ScriptSignal
      • TweenInfo
      • Udim
      • Udim2
      • Vector2
      • Vector3
    • Classes
      • Animation
      • AngularVelocity
      • AnimationTrack
      • Animator
      • Atmosphere
      • Attachment
      • Backpack
      • BackpackItem
      • BasePart
      • BaseScript
      • Beam
      • BindableEvent
      • BlendSpace
      • BoolValue
      • Bone
      • Camera
      • CharacterMesh
      • CollectionService
      • Constraint
      • ContextActionService
      • CoreGui
      • DataStore
      • DataModel
      • DataStoreGetOptions
      • DataStoreIncrementOptions
      • DataStoreInfo
      • DataStoreKeyPages
      • DataStoreKeyInfo
      • DataStoreService
      • DataStoreListingPages
      • DataStoreSetOptions
      • FormFactorPart
      • Frame
      • Folder
      • GlobalDataStore
      • GuiBase2d
      • GuiButton
      • GuiObject
      • HttpService
      • Humanoid
      • HumanoidDescription
      • ImageButton
      • ImageLabel
      • InputObject
      • IntValue
      • LayerCollector
      • Instance
      • Light
      • Lighting
      • LinearVelocity
      • LocalScript
      • LuaSourceContainer
      • MaterialService
      • MaterialVariant
      • MeshPart
      • Model
      • ModuleScript
      • Mouse
      • OrderedDataStore
      • Pages
      • Part
      • ParticleEmitter
      • PhysicsService
      • Player
      • PlayerGui
      • Players
      • PlayerScripts
      • PointLight
      • PVInstance
      • ReplicatedStorage
      • RemoteEvent
      • ScreenGui
      • RunService
      • Script
      • ServerStorage
      • ServiceProvider
      • Skeleton
      • ServerScriptService
      • Sound
      • SoundService
      • SoundGroup
      • SpotLight
      • SpawnLocation
      • StarterCharacterScripts
      • StarterPack
      • StarterGui
      • StarterPlayer
      • StarterPlayerScripts
      • StringValue
      • SurfaceGui
      • SurfaceGuiBase
      • Team
      • Teams
      • TextLabel
      • TextButton
      • Tool
      • Trail
      • Tween
      • TweenService
      • TweenBase
      • UIAspectRatioConstraint
      • UserGameSettings
      • UserInputService
      • UserSettings
      • VectorForce
      • Workspace
      • WrapLayer
      • WorldRoot
      • WrapTarget
  • 🅰️OVERDARE Glossary
  • 📰Release Note
Powered by GitBook
On this page
  • 개요
  • 특징
  • 애니메이션 에디터 표시
  • 화면 구성
  • 사용 방법
  • 툴바 기능
  • Rig Hierarchy 패널
  • 미리보기 패널
  • 키프레임 에디터
  • 애니메이션 이벤트
  • 키보드 단축키
  • 애니메이션 등록 및 사용 방법
  • 주의 사항
  1. 스튜디오 메뉴얼

애니메이션 에디터

Previous정렬NextMaterial Manager

Last updated 9 hours ago

개요

애니메이션 에디터는 ODA(OVERDARE Deformable Avatar) 기반의 아바타 표준에 맞춘 애니메이션을 제작하고 편집할 수 있는 강력한 도구입니다.

특징

스튜디오에 내장된 애니메이션 에디터를 통해 별도의 외부 프로그램 없이도 스튜디오 작업 흐름 내에서 직접 애니메이션을 제작할 수 있으며, 외부에서 제작된 FBX 애니메이션 파일을 가져와 손쉽게 편집하는 것도 가능합니다.

  • 타임라인에서 키프레임 단위로 애니메이션을 정밀하게 편집하고, 미리보기 패널에서 애니메이션을 실시간으로 편집하고 확인할 수 있습니다.

  • 외부에서 제작한 FBX 애니메이션 파일을 가져올 수 있습니다.

  • 작업한 애니메이션을 서버에 등록하고, 서버에 저장된 애니메이션 파일을 불러와 사용할 수 있습니다.

  • 애니메이션 이벤트를 설정해 스크립트에서 필요한 처리와 연동할 수 있습니다.

애니메이션 에디터 표시

애니메이션 에디터는 OVERDARE Studio 최상단 탭 영역에서 Model탭을 선택하면 출력되는 Animation Editor 버튼을 클릭해서 표시할 수 있습니다.

화면 구성

애니메이션 에디터의 화면은 다음과 같이 구성되어 있습니다.

  • 툴바 : 애니메이션을 저장하거나 불러올 수 있고, 미리보기 패널의 편집 모드를 변경할 수 있습니다.

  • Rig Hierarchy : 아바타의 본 구조를 표시합니다.

  • 미리보기 패널 : 타임라인의 현재 위치에 해당하는 애니메이션을 표시합니다.

  • 키프레임 에디터 : 타임라인 기반으로 애니메이션을 정밀하게 편집할 수 있습니다.

사용 방법

툴바 기능

기능
설명

Save

작업중인 애니메이션을 저장합니다. (맵이 아닌 현재 PC의 스튜디오에 내부적으로 저장됩니다.)

Save As

작업중인 애니메이션을 다른 이름으로 저장합니다.

Load

저장한 작업 애니메이션을 불러옵니다.

Import

  • Import from OVERDARE : 서버에 등록된 내 애니메이션을 불러옵니다.

  • Import from FBX : fbx 파일로 애니메이션을 가져옵니다.

Get Asset Id

작업중인 애니메이션을 서버에 등록하고 Asset Id를 생성합니다.

Create New

새로운 애니메이션을 만듭니다.

Select

미리보기 패널의 편집 모드를 선택 모드로 변경합니다.

Move

미리보기 패널의 편집 모드를 이동 모드로 변경합니다. (미리보기 패널에서 본을 클릭하여, 본을 이동시킬 수 있습니다.)

Rotate

미리보기 패널의 편집 모드를 회전 모드로 변경합니다. (미리보기 패널에서 본을 클릭하여, 본을 회전시킬 수 있습니다.)

Rig Hierarchy 패널

Rig Hierarchy 패널에 아바타의 골격 구조가 표시됩니다. Rig Hierarchy에서 본을 클릭하면 미리보기 패널에서도 해당 본이 선택됩니다.

미리보기 패널

미리보기 패널에는 타임라인의 현재 위치에 해당하는 애니메이션이 표시됩니다.

미리보기 패널에서 본을 선택한 다음, 편집 모드를 Move나 Rotate로 설정하면 해당 본을 기즈모(Gizmo) 축을 이용해 편집할 수 있습니다.

(타임라인의 현재 위치에 키프레임이 없는 경우, 기즈모 조작시 자동으로 키프레임이 생성됩니다.)

Show 토글을 통해 배경과 바닥의 표시 여부를 설정할 수 있습니다.

키프레임 에디터

타임라인에서 각 본에 대한 트랙을 추가하거나 제거하고, 각 본의 위치와 회전 정보를 키프레임 단위로 정밀하게 편집할 수 있습니다.

Add Track 버튼을 눌러 각 본(Bone)에 대한 트랙을 추가하거나 제거할 수 있습니다.

타임라인은 시간별로 애니메이션의 키프레임을 편집하는 작업 영역입니다.

스크러버(Scrubber)는 타임라인 상에서 시간 위치를 선택하는 세로 줄로, 시간 눈금줄을 드래그해서 스크러버의 위치를 변경할 수 있습니다.

옵션 버튼을 눌러, 스커러버를 타임라인의 처음이나 마지막으로 이동할 수 있고, Playback Speed 옵션으로 재생 속도를 조절할 수 있습니다.

재생 컨트롤 영역에서 애니메이션의 재생, 역재생, 특정 프레임으로 이동, 반복 설정 등의 기능을 이용할 수 있습니다.

타임라인에서 키프레임을 우클릭하면 표시되는 메뉴에서 애니메이션 정보를 초기화하거나 삭제할 수 있고, 인터폴레이션(Interpolation)을 통해 보간 방식을 선형(Linear), 고정(Constant), 큐빅(Cubic)으로 설정할 수 있습니다.

  • Reset Keyframes : 키프레임의 애니메이션 정보를 초기화합니다.

  • Delete Keyframes : 키프레임을 삭제합니다.

  • Set Interpolation : 보간 방식을 설정합니다.

타임라인에서 키프레임이 없는 빈 화면을 우클릭하면 표시되는 메뉴에서 특정 구간에 프레임을 삭제하거나, 원하는 위치에 새 프레임을 추가할 수 있습니다.

  • Remove frame n to n : n~n 프레임 사이의 키프레임을 삭제합니다.

  • Insert frame before n : n 프레임 이전에키프레임을 추가합니다.

  • Insert frame after n : n 프레임 이후에 키프레임을 추가합니다.

  • Append at Beginning : 입력한 프레임의 앞에 키프레임을 추가합니다.

  • Append at End : 입력한 프레임의 뒤에 키프레임을 추가합니다.

  • Add Reset Keyframe Here : 애니메이션 정보가 초기화된 키프레임을 이 위치에 추가합니다.

애니메이션 이벤트

Add Events 버튼을 눌러 애니메이션 이벤트를 추가하면, 애니메이션의 특정 프레임에서 스크립트와 상호작용할 수 있습니다.

  • 등록한 이벤트는 타임라인의 애니메이션 이벤트 바(Event Bar) 상에 마커 형태로 표시됩니다.

  • 등록한 이벤트를 우클릭하여, 이름 변경(Rename Event), 복사(Copy), 삭제(Delete)할 수 있습니다.

추가한 애니메이션 이벤트는 다음과 같이 처리할 수 있습니다:

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local character = LocalPlayer.Character
local humanoid = character:WaitForChild("Humanoid")

local animation = Instance.new("Animation")
animation.AnimationId = "ovdrassetid://1234"

local animator = humanoid:FindFirstChild("Animator")
local animationTrack = animator:LoadAnimation(animation)

local function OnAnimationEvent()
    print("OnAnimationEvent")
end
animationTrack:GetMarkerReachedSignal("SomeKeyName"):connect(OnAnimationEvent)

animationTrack:Play()

키보드 단축키

단축키
동작

Ctrl+S

애니메이션 저장

Ctrl+Z / Ctrl+Y

Undo / Redo

Spacebar

애니메이션 재생/일시정지

애니메이션 등록 및 사용 방법

제작한 애니메이션은 Get Asset Id 버튼을 눌러, 서버에 등록할 수 있습니다.

서버에 애니메이션 등록이 완료되면 Asset Id가 생성됩니다. 이미지에서 표시한 버튼을 눌러 Asset Id를 복사하세요.

애니메이션을 사용하려면 Level Browser에 반드시 배치되어 있어야 합니다. ServerStorage에 Animation을 추가합니다.

(애니메이션이 배치되어 있지 않으면 모바일 환경에서 정상적으로 표시되지 않을 수 있습니다.)

추가한 Animation을 선택한 다음, 프로퍼티 창의 Animation Id에 복사한 Asset Id를 넣습니다.

주의 사항

  • 작업중인 애니메이션을 저장(Save)하면, 맵이 아닌 OVERDARE Studio에 저장됩니다.

    • 따라서, 다른 PC 환경에서 맵을 열면 작업중인 애니메이션은 표시되지 않습니다.

  • 작업이 완료된 애니메이션은 반드시 Get Asset Id 버튼을 눌러, OVERDARE에 등록하고 Level Browser에 애니메이션을 추가한 다음, Animation Id에 Asset Id를 연결하세요.

    • OVERDARE에 등록된 내 애니메이션은 Import from OVERDARE로 다시 가져올 수 있습니다.

    • 애니메이션을 등록한 이후에도 데이터가 수정되면, 변경된 내용을 반영하기 위해 다시 등록하고 새로운 Asset ID를 생성 및 연결한 뒤 사용해야 합니다.

🏰