-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #20925 from hareha/dev
Docs: updated korean reference/animation(rebased)
- Loading branch information
Showing
8 changed files
with
888 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
<!DOCTYPE html> | ||
<html lang="ko"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<base href="../../../" /> | ||
<script src="page.js"></script> | ||
<link type="text/css" rel="stylesheet" href="page.css" /> | ||
</head> | ||
<body> | ||
<h1>[name]</h1> | ||
|
||
<p class="desc"> | ||
AnimationClip은 재활용 가능한 키프레임 트랙 모음으로, 애니메이션을 대표하는 단위입니다.<br /><br /> | ||
|
||
three.js 애니메이션 시스템의 다양한 엘레먼트에 관해서는 매뉴얼의 "심화과정" 중 "애니메이션 시스템" 문서를 참고하세요. | ||
</p> | ||
|
||
|
||
<h2>생성자</h2> | ||
|
||
|
||
<h3>[name]( [param:String name], [param:Number duration], [param:Array tracks] )</h3> | ||
<p> | ||
[page:String name] - 클립의 이름.<br /> | ||
[page:Number duration] - 클립의 길이 (초 단위). 음수 값을 입력하면 길이는 *tracks* 배열에서 계산됩니다.<br /> | ||
[page:Array tracks] - [page:KeyframeTrack KeyframeTracks] 배열.<br /><br /> | ||
|
||
참고: AnimationClip를 직접 인스턴스로 만드는 것보다, 정적 메서드를 활용하여 AnimationClips를 만드는 것이 좋습니다: | ||
JSON ([page:.parse parse]), 모프 타겟 시퀀스 ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence], | ||
[page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) 혹은 | ||
애니메이션 계층 ([page:.parseAnimation parseAnimation])을 활용하세요. - 모델의 기하학 애니메이션 배열에 AnimationClips가 없을 경우. | ||
</p> | ||
|
||
|
||
<h2>프로퍼티</h2> | ||
|
||
|
||
<h3>[property:Number duration]</h3> | ||
<p> | ||
클립의 길이입니다(초 단위). 이 값은 [page:.tracks tracks] 배열에서 [page:.resetDuration resetDuration]를 통해 계산할 수 있습니다. | ||
</p> | ||
|
||
<h3>[property:String name]</h3> | ||
<p> | ||
클립의 이름입니다. 특정 클립은 [page:.findByName findByName]으로 찾을 수 있습니다. | ||
</p> | ||
|
||
<h3>[property:Array tracks]</h3> | ||
<p> | ||
이 클립에서 재생되는 각 프로퍼티에 [page:KeyframeTrack]을 포함하고 있는 배열입니다. | ||
</p> | ||
|
||
<h3>[property:String uuid]</h3> | ||
<p> | ||
클립 인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다. | ||
자동으로 할당되며 수정할 수 없습니다. | ||
</p> | ||
|
||
|
||
<h2>메서드</h2> | ||
|
||
|
||
<h3>[method:AnimationClip clone]()</h3> | ||
<p> | ||
클립의 복사본을 리턴합니다. | ||
</p> | ||
|
||
<h3>[method:this optimize]()</h3> | ||
<p> | ||
동일한 시퀀스 키를 제거해 각 트랙을 최적화합니다(모프 타겟 시퀀스에서는 흔한 작업입니다). | ||
</p> | ||
|
||
<h3>[method:this resetDuration]()</h3> | ||
<p> | ||
클립의 [page:.duration duration]을 가장 긴 [page:KeyframeTrack]의 길이로 설정합니다. | ||
</p> | ||
|
||
<h3>[method:Object toJSON]()</h3> | ||
<p> | ||
애니메이션 클립을 직렬화한 JSON object를 리턴합니다. | ||
</p> | ||
|
||
<h3>[method:this trim]()</h3> | ||
<p> | ||
클립의 길이에 맞춰 모든 트랙의 공백을 제거합니다. | ||
</p> | ||
|
||
<h3>[method:Boolean validate]()</h3> | ||
<p> | ||
클립에 있는 트랙들의 최소 유효성 검사를 시행합니다. 모든 트랙이 유효하면 true를 리턴합니다. | ||
</p> | ||
|
||
|
||
<h2>정적 메서드</h2> | ||
|
||
|
||
<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3> | ||
<p> | ||
geometry의 [page:Geometry.morphTargets morph | ||
target sequences]를 통해 생성된 새 AnimationClips 배열을 리턴하고 , | ||
모프 타겟 이름을 애니메이션-그룹-기반의 "Walk_001, Walk_002, Run_001, Run_002 ..."와 같은 패턴으로 정리합니다. | ||
</p> | ||
|
||
<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3> | ||
<p> | ||
geometry에서 넘어온 [page:Geometry.morphTargets morph targets array]를 통해 | ||
초 단위의 프레임 수와 이름을 받아 새 AnimationClip을 리턴합니다. | ||
<br /><br /> | ||
|
||
참고: fps 파라미터가 필요하지만, 애니메이션 속도는 [page:AnimationAction.setDuration animationAction.setDuration]을 통한 | ||
*AnimationAction*에 의해 오버라이딩될 수 있습니다. | ||
</p> | ||
|
||
<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3> | ||
<p> | ||
Searches for an AnimationClip을 위한 검색기로, 첫 파라미터 혹은 AnimationClips 배열, "animations"라는 이름을 가진 mesh, geometry 베열로부터 이름을 기반으로 검색합니다. | ||
</p> | ||
|
||
<h3>[method:AnimationClip parse]( [param:Object json] )</h3> | ||
<p> | ||
클립의 JSON 파일을 파싱하고 AnimationClip을 리턴합니다. | ||
</p> | ||
|
||
<h3>[method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )</h3> | ||
<p> | ||
animation.hierarchy 포맷을 파싱하고 AnimationClip을 리턴합니다. | ||
</p> | ||
|
||
<h3>[method:Object toJSON]( [param:AnimationClip clip] )</h3> | ||
<p> | ||
AnimationClip을 받아 JSON 객체를 리턴합니다. | ||
</p> | ||
|
||
|
||
<h2>소스 코드</h2> | ||
|
||
|
||
<p> | ||
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] | ||
</p> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
<!DOCTYPE html> | ||
<html lang="ko"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<base href="../../../" /> | ||
<script src="page.js"></script> | ||
<link type="text/css" rel="stylesheet" href="page.css" /> | ||
</head> | ||
<body> | ||
<h1>[name]</h1> | ||
|
||
<p class="desc"> | ||
AnimationMixer는 장면에 있는 특정 오브젝트의 애니메이션 플레이어입니다. 한 장면에서 여러 개의 오브젝트들이 | ||
독립적으로 움직인다면, 각각 다른 AnimationMixer가 사용되고 있다고 볼 수 있습니다.<br /><br /> | ||
|
||
three.js 애니메이션 시스템의 다양한 엘레먼트에 관해서는 매뉴얼의 "심화과정" 중 "애니메이션 시스템" 문서를 참고하세요. | ||
</p> | ||
|
||
|
||
<h2>생성자</h2> | ||
|
||
|
||
<h3>[name]( [param:Object3D rootObject] )</h3> | ||
<p> | ||
[page:Object3D rootObject] - 믹서의 애니메이션이 재생될 오브젝트.<br /> | ||
</p> | ||
|
||
|
||
<h2>Properties</h2> | ||
|
||
|
||
<h3>[property:Number time]</h3> | ||
<p> | ||
글로벌 믹서의 시간 (초 단위, 믹서 생성시에 0부터 시작함). | ||
</p> | ||
|
||
<h3>[property:Number timeScale]</h3> | ||
<p> | ||
글로벌 배속 [page:.time mixer time].<br /><br /> | ||
|
||
참고: 믹서의 timeScale를 0으로 설정했다가 나중에 1로 설정하는 방식으로 정지/재생 기능을 | ||
믹서를 통해 사용할 수 있습니다. | ||
</p> | ||
|
||
|
||
<h2>메서드</h2> | ||
|
||
|
||
<h3>[method:AnimationAction clipAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3> | ||
<p> | ||
전달받은 클립의 [page:AnimationAction]을 리턴하며, 믹서의 루트 경로가 아닌 다른 루트 경로를 사용할 수도 있습니다. | ||
첫 번째 파라미터는 [page:AnimationClip] 오브젝트 및 AnimationClip 이름으로 사용할 수 있습니다.<br /><br /> | ||
|
||
클립에 동작은 설정되었는데 루트 파라미터가 아직 존재하지 않는다면, 이 메서드를 통해 자동으로 생성될 것입니다. | ||
이 메서드를 같은 클립과 루트 파라미터로 여러 번 호출해도 항상 같은 클립 인스턴스를 리턴할 것입니다. | ||
</p> | ||
|
||
<h3>[method:AnimationAction existingAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3> | ||
<p> | ||
전달받은 클립에 존재하는 [page:AnimationAction]을 리턴하며 믹서의 루트 경로가 아닌 다른 루트 경로를 사용할 수도 있습니다.<br /><br /> | ||
|
||
첫 번째 파라미터는 [page:AnimationClip] 오브젝트 및 AnimationClip 이름으로 사용할 수 있습니다. | ||
</p> | ||
|
||
<h3>[method:Object3D getRoot]()</h3> | ||
<p> | ||
믹서의 루트 오브젝트를 리턴합니다. | ||
</p> | ||
|
||
<h3>[method:AnimationMixer stopAllAction]()</h3> | ||
<p> | ||
믹서의 모든 이전 예약 동작들을 비활성화합니다. | ||
</p> | ||
|
||
<h3>[method:AnimationMixer update]([param:Number deltaTimeInSeconds]) </h3> | ||
<p> | ||
글로벌 믹서 시간을 되돌리고 애니메이션을 업데이트합니다.<br /><br /> | ||
|
||
주로 렌더 루프에서 사용되며, [page:.timeScale timeScale]로 설정된 배율로 [page:Clock.getDelta clock.getDelta]를 넘겨줍니다. | ||
</p> | ||
|
||
<h3>[method:AnimationMixer setTime]([param:Number timeInSeconds]) </h3> | ||
<p> | ||
글로벌 믹서의 특정 시간을 설정하고 그에 따라 애니메이션을 업데이트합니다.<br /><br /> | ||
|
||
애니메이션의 정확한 시간대로 이동할 때 유용합니다. 입력되는 파라미터는 믹서의 [page:.timeScale timeScale]의 배율을 따라갑니다. | ||
</p> | ||
|
||
<h3>[method:null uncacheClip]([param:AnimationClip clip])</h3> | ||
|
||
<p> | ||
클립에 있는 모든 메모리 리소스를 할당 해제합니다. | ||
</p> | ||
|
||
<h3>[method:null uncacheRoot]([param:Object3D root]) </h3> | ||
<p> | ||
루트 오브젝트의 모든 메모리 리소스를 할당 해제합니다. | ||
</p> | ||
|
||
<h3>[method:null uncacheAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3> | ||
<p> | ||
동작의 모든 메모리 리소스를 할당 해제합니다. | ||
</p> | ||
|
||
|
||
<h2>Source</h2> | ||
|
||
|
||
<p> | ||
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] | ||
</p> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<!DOCTYPE html> | ||
<html lang="ko"> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<base href="../../../" /> | ||
<script src="page.js"></script> | ||
<link type="text/css" rel="stylesheet" href="page.css" /> | ||
</head> | ||
<body> | ||
<h1>[name]</h1> | ||
|
||
<p class="desc">애니메이션 상태를 공유 및 저장하는 오브젝트 그룹입니다.<br /><br /> | ||
|
||
three.js 애니메이션 시스템의 다양한 엘레먼트에 관해서는 매뉴얼의 "심화과정" 중 "애니메이션 시스템" 문서를 참고하세요. | ||
</p> | ||
|
||
<h2>사용:</h2> | ||
|
||
<p class="desc"> | ||
'root'로 생성자에 넘기거나 'root'로 오브젝트를 넘기는 대신 | ||
[page:AnimationMixer AnimationMixer]의 [page:AnimationMixer.clipAction clipAction]메서드를 통해 넘긴 | ||
오브젝트들을 추가합니다. | ||
<br /><br /> | ||
|
||
이 클래스의 모든 오브젝트들은 믹서의 하나의 오브젝트로 나타날 것이기 때문에, | ||
개별 오브젝트의 캐시 컨트롤은 그룹에서 이루어져야 합니다. | ||
</p> | ||
|
||
|
||
<h2>제한</h2> | ||
<p class="desc"> | ||
애니메이션 된 프로퍼티들은 그룹의 모든 오브젝트에서 사용 가능해야합니다.<br /><br /> | ||
|
||
단일 프로퍼티는 타겟 그룹 관리 아니면 직접 관리 둘 중 하나로 되어야하며, 동시에는 안 됩니다. | ||
</p> | ||
|
||
|
||
<h2>생성자</h2> | ||
|
||
<h3>[name]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3> | ||
<p> | ||
[page:Object obj] - 같은 애니메이션 상태를 동유하는 메쉬의 임의 숫자. | ||
</p> | ||
|
||
<h2>프로퍼티</h2> | ||
|
||
|
||
<h3>[property:Object stats]</h3> | ||
<p> | ||
*AnimationObjectGroup* (총 갯수, 사용중인 갯수, 오브젝트별 바인딩 갯수)의 정보를 담고있는 오브젝트 | ||
</p> | ||
|
||
<h3>[property:String uuid]</h3> | ||
<p> | ||
*AnimationObjectGroup*의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]. | ||
자동으로 할당괴며 수정이 불가능합니다. | ||
</p> | ||
|
||
|
||
<h2>메서드</h2> | ||
|
||
|
||
<h3>[method:null add]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3> | ||
<p> | ||
*AnimationObjectGroup*에 임의 갯수만큼의 오브젝트를 추가합니다. | ||
</p> | ||
|
||
<h3>[method:null remove]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3> | ||
<p> | ||
*AnimationObjectGroup*의 임의 갯수만큼의 오브젝트를 제거합니다. | ||
</p> | ||
|
||
<h3>[method:null uncache]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3> | ||
<p> | ||
*AnimationObjectGroup*의 전달받은 오브젝트들의 모든 메모리 리소스를 할당 해제합니다. | ||
</p> | ||
|
||
|
||
<h2>소스 코드</h2> | ||
|
||
|
||
<p> | ||
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] | ||
</p> | ||
</body> | ||
</html> |
Oops, something went wrong.