提交 65e7fe62 编写于 作者: M Mr.doob

r124

上级 b8d62981
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -158,7 +158,7 @@
<h3>[method:Number getW]( [param:Integer index] ) </h3>
<p>Returns the w component of the vector at the given index.</p>
<h3>[method:null onUpload]( [param:Function callback] ) </h3>
<h3>[method:this onUpload]( [param:Function callback] ) </h3>
<p>
Sets the value of the onUploadCallback property.<br /><br />
......
......@@ -69,7 +69,7 @@
<p>
layers - a Layers object<br /><br />
Returns true if this and the passed *layers* object are members of the same set of layers.
Returns true if this and the passed *layers* object have at least one layer in common.
</p>
<h3>[method:null toggle]( [param:Integer layer] )</h3>
......
......@@ -145,7 +145,7 @@
[page:Vector3 direction] — The normalized direction vector that gives direction to the ray.
</p>
<p>
Updates the ray with a new origin and direction.
Updates the ray with a new origin and direction. Please note that this method only copies the values from the arguments.
</p>
<h3>[method:null setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
......
......@@ -16,16 +16,13 @@
but retains the api of a curve.
</p>
<h2>Constructor</h2>
<h3>[name]()</h3>
<p>
The constructor take no parameters.
</p>
<h2>Properties</h2>
<p>See the base [page:Curve] class for common properties.</p>
......@@ -35,10 +32,6 @@
<h3>[property:Boolean autoClose]</h3>
<p>Whether or not to automatically close the path.</p>
<h2>Methods</h2>
<p>See the base [page:Curve] class for common methods.</p>
......@@ -62,7 +55,10 @@
<p>
divisions -- number of pieces to divide the curve into. Default is *12*.<br /><br />
Returns a set of divisions + 1 points using getPoint( t ).
Returns an array of points representing a sequence of curves. The *division* parameter defines
the number of pieces each curve is divided into. However, for optimization and quality purposes,
the actual sampling resolution for each curve depends on its type. For example, for a [page:LineCurve],
the returned number of points is always just 2.
</p>
<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
......
......@@ -25,9 +25,9 @@ scene.add( axesHelper );
<h2>Examples</h2>
<p>
[example:webgl_geometries WebGL / geometries]<br/>
[example:webgl_buffergeometry_compression WebGL / buffergeometry / compression]<br/>
[example:webgl_geometry_convex WebGL / geometry / convex]<br/>
[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor]
[example:webgl_loader_nrrd WebGL / loader / nrrd]
</p>
<h2>Constructor</h2>
......
......@@ -80,7 +80,7 @@
blend between the two colors.
</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p>The environment map. Default is null.</p>
<h3>[property:Texture lightMap]</h3>
......
......@@ -107,7 +107,7 @@
<h3>[property:Float emissiveIntensity]</h3>
<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p>The environment map. Default is null.</p>
<h3>[property:Texture lightMap]</h3>
......
......@@ -139,10 +139,9 @@
<h3>[property:Float emissiveIntensity]</h3>
<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p>The environment map. Default is null.</p>
<h3>[property:Texture lightMap]</h3>
<p>The light map. Default is null. The lightMap requires a second set of UVs.</p>
......
......@@ -61,6 +61,7 @@
[example:webgl_materials_variations_physical materials / variations / physical]<br />
[example:webgl_materials_physical_clearcoat materials / physical / clearcoat]<br />
[example:webgl_materials_physical_reflectivity materials / physical / reflectivity]<br />
[example:webgl_materials_physical_sheen materials / physical / sheen]<br />
[example:webgl_materials_physical_transmission materials / physical / transmission]
</p>
......@@ -132,6 +133,12 @@
This models the reflectivity of non-metallic materials. It has no effect when [page:MeshStandardMaterial.metalness metalness] is *1.0*
</p>
<h3>[property:Color sheen]</h3>
<p>
If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet.
The sheen color provides the ability to create two-tone specular materials. *null* by default.
</p>
<h3>[property:Float transmission]</h3>
<p>
Degree of transmission (or optical transparency), from *0.0* to *1.0*. Default is *0.0*.<br />
......
......@@ -164,17 +164,9 @@
<h3>[property:Float emissiveIntensity]</h3>
<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
<h3>[property:TextureCube envMap]</h3>
<p>The environment map. Default is null. Note that in order for the material roughness
property to correctly blur out the environment map, the shader must have access to mipmaps
of the env texture. TextureCubes created with default settings are correctly configured;
if adjusting texture parameters manually, ensure minFilter is set to one of the MipMap options,
and that mip maps have not been otherwise forcibly disabled.</p>
<p>
Note: only [link:https://threejs.org/docs/#api/textures/CubeTexture cube environment maps] are supported
for MeshStandardMaterial. If you want to use an equirectangular map you will need to use
[page:WebGLCubeRenderTarget.fromEquirectangularTexture WebGLCubeRenderTarget.fromEquirectangularTexture]().
See this [link:https://threejs.org/examples/webgl_materials_envmaps_exr.html example] for details.
<h3>[property:Texture envMap]</h3>
<p>The environment map. To ensure a physically correct rendering, you should only add
environment maps which were preprocessed by [page:PMREMGenerator]. Default is null.
</p>
<h3>[property:Float envMapIntensity]</h3>
......
......@@ -117,7 +117,6 @@
[example:webgl_materials_skin webgl / materials / skin]<br />
[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
[example:webgl_nearestneighbour webgl / nearestneighbour]<br />
[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />
[example:webgl_postprocessing_godrays webgl / postprocessing / godrays]
</p>
......
......@@ -11,7 +11,7 @@
<p class="desc">
[link:http://en.wikipedia.org/wiki/Frustum Frustums] are used to determine what is
inside the camera's field of view. They help speed up the rendering process - object which lie
inside the camera's field of view. They help speed up the rendering process - objects which lie
outside a camera's frustum can safely be excluded from rendering.<br /><br />
This class is mainly intended for use internally by a renderer for calculating
......
......@@ -105,7 +105,7 @@ zAxis = (c, f, i)
[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major] format.
</p>
<h3>[method:this invert()]()</h3>
<h3>[method:this invert]()</h3>
<p>
Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
......
......@@ -186,7 +186,7 @@ zAxis = (c, g, k)
[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major] format.
</p>
<h3>[method:this invert()]()</h3>
<h3>[method:this invert]()</h3>
<p>
Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
......
......@@ -66,6 +66,11 @@
<h2>Methods</h2>
<p>See the base [page:Mesh] class for common methods.</p>
<h3>[method:null dispose]()</h3>
<p>
Frees the internal resources of this instance.
</p>
<h3>[method:null getColorAt]( [param:Integer index], [param:Color color] )</h3>
<p>
[page:Integer index]: The index of an instance. Values have to be in the range [0, count].
......
......@@ -335,7 +335,7 @@
<h3>[method:Float getClearAlpha]()</h3>
<p>Returns a [page:Float float] with the current clear alpha. Ranges from 0 to 1.</p>
<h3>[method:Color getClearColor]()</h3>
<h3>[method:Color getClearColor]( [param:Color target] )</h3>
<p>Returns a [page:Color THREE.Color] instance with the current clear color.</p>
<h3>[method:WebGLRenderingContext getContext]()</h3>
......@@ -428,6 +428,9 @@
Renders an instance of [page:ImmediateRenderObject]. Gets called by renderObjectImmediate().
</p>
<h3>[method:null resetState]()</h3>
<p>Can be used to reset the internal WebGL state. This method is mostly relevant for applications which share a single WebGL context across multiple WebGL libraries.</p>
<h3>[method:null setAnimationLoop]( [param:Function callback] )</h3>
<p>[page:Function callback] — The function will be called every available frame. If `null` is passed it will stop any already ongoing animation.</p>
<p>A built in function that can be used instead of [link:https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame]. For WebXR projects this function must be used.</p>
......
......@@ -16,7 +16,7 @@
<h2>Constructor</h2>
<h3>[name]( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy )</h3>
<h3>[name]( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding )</h3>
<p>
The data argument must be an [link:https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView ArrayBufferView].
Further parameters correspond to the properties inherited from [page:Texture], where both magFilter and minFilter default to THREE.NearestFilter. The properties flipY and generateMipmaps are intially set to false.
......
<!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">
AnimationActions는 [page:AnimationClip AnimationClips]에 저장된 애니메이션을 예약하는 데 사용됩니다.
<br /><br />
참고: 대부분의 애니메이션 액션 메소드들은 체인으로 연결되어 있습니다.<br /><br />
three.js 애니메이션 시스템 엘리먼트에 대한 개요들은 매뉴얼의 "Next Steps" 섹션에 있는 "애니메이션 시스템" 글을 참조하세요.
</p>
<h2>생성자</h2>
<h3>[name]( [param:AnimationMixer mixer], [param:AnimationClip clip], [param:Object3D localRoot] )</h3>
<p>
[page:AnimationMixer mixer] - 애니메이션 믹서는 애니메이션 액션에 의해 제어됩니다.<br />
[page:AnimationClip clip] - 애니메이션 클립은 애니메이션 액션에 대한 애니메이션 데이터를 보유하고 있습니다.<br />
[page:Object3D localRoot] - 루트 오브젝트는 애니메이션 액션을 수행합니다.<br /><br />
참고: 해당 생성자를 직접 호출하는 대신 [page:AnimationMixer.clipAction] 으로 AnimationAction을 인스턴스화 해야합니다. 해당 메소드는 더 나은 성능을 위한 캐싱을 제공하기 때문입니다.
</p>
<h2>속성</h2>
<h3>[property:Boolean clampWhenFinished]</h3>
<p>
*clampWhenFinished* 가 true로 설정 되었을 경우 자동으로 애니메이션의 마지막 프레임에서 [page:.paused paused] 됩니다.
<br /><br />
*clampWhenFinished* 가 false로 설정 되었을 경우 마지막 루프의 작업이 완료 될 때 [page:.enabled enabled]을 자동으로 false로 전환되어, 더이상 작업에 영향을 주지 않습니다. <br /><br />
초기값은 *false* 입니다.<br /><br />
참고: *clampWhenFinished* 는 작업이 중단될 경우 아무런 영향을 주지 않습니다 (마지막 루프를 실제로 완료된 경우에만 효과가 있음).
</p>
<h3>[property:Boolean enabled]</h3>
<p>
*enabled* 를 *false* 로 설정하면 작업이 비활성화 되어 아무런 영향을 주지 않습니다. 기본값은 *true* 입니다. <br /><br />
애니메이션 액션이 다시 활성화되면, 현재 [page:.time time] 부터 연속적으로 애니메이션이 활성화 됩니다 (*enabled* 를 *false* 로 설정하면 애니메이션 액션이 초기화 되지 않습니다).<br /><br />
참고: *enabled* 를 *true* 로 설정해도 자동적으로 애니메이션이 재시작하지 않습니다. *enabled* 를 *true* 로 설정하면 다음 조건이 충족되는 경우에만 즉시 애니메이션을 시작합니다:
[page:.paused paused] 가 *false* 인 경우, - 그동안 애니메이션 액션은 비활성화 되지 않습니다
( [page:.stop stop] 또는 [page:.reset reset] 명령을 실행하여) 그리고 [page:.weight weight], [page:.timeScale timeScale] 는 둘 다 0 이 아닙니다.
</p>
<h3>[property:Number loop]</h3>
<p>
반복 모드 ([page:.setLoop setLoop] 으로 변경할 수 있습니다). 기본값은 [page:Animation THREE.LoopRepeat] ([page:.repetitions repetitions] 는 무한한 수를 포함)
<br /><br />
다음의 상수값 중 하나여야 함:<br /><br />
[page:Animation THREE.LoopOnce] - 클립 한번 재생 <br />
[page:Animation THREE.LoopRepeat] - 클립의 끝에서 시작 부분으로 즉시 이동할 때마다 선택한 *repetitions* 수 만큼 클립 재생 <br />
[page:Animation THREE.LoopPingPong] - 선택한 *repetitions* 수 만큼 클립을 앞뒤로 재생
</p>
애니메이션 액션에서 수행된 [page:AnimationClip] 의 반복 횟수입니다.
[page:.setLoop setLoop]을 통해 설정할 수 있습니다. 기본값은 *무한대* 입니다. <br /><br />
[page:. loop loop mode] 가 [page:animation THREE.LoopOnce] 로 설정되어 있으면 숫자를 설정해도 아무런 영향을 미치지 않습니다.
</p>
<h3>[property:Number time]</h3>
<p>
애니메이션 액션의 로컬 시간 속성 (초 단위, 0부터 시작).<br /><br />
시간 속성은 값이 고정 되거나, 반복 상태에 따라 0 ... clip.duration 으로 래핑 됩니다.
[page:.timeScale timeScale] 을 변경하여 글로벌 믹서 타임을 상대적으로 확장할 수 있습니다
([page:.setEffectiveTimeScale setEffectiveTimeScale] 또는 [page:.setDuration setDuration] 을 이용하여) <br />
</p>
<h3>[property:Number timeScale]</h3>
<p>
[page:.time time] 에 대한 스케일 팩터 속성입니다. 값이 0 일 경우 애니메이션은 중지됩니다.
음수 값 일 경우 애니메이션은 뒤로 재생 됩니다. 기본값은 *1* 입니다. <br /><br />
*timeScale* 과 관련된 속성/메소드는:
[page:.getEffectiveTimeScale getEffectiveTimeScale],
[page:.halt halt],
[page:.paused paused],
[page:.setDuration setDuration],
[page:.setEffectiveTimeScale setEffectiveTimeScale],
[page:.stopWarping stopWarping],
[page:.syncWith syncWith],
[page:.warp warp] 입니다.
</p>
<h3>[property:Number weight]</h3>
<p>
애니메이션 액션의 중요도에 대한 속성입니다 ([0,1] 간격).
값은 *0* (영향 없음) 과 *1* (최대 영향) 사이의 값을 사용할 수 있고, 여러 액션들을 혼합해서 사용할 수 있습니다.
기본값은 *1* 입니다. <br /><br />
*weight* 와 관련된 속성/메소드는:
[page:.crossFadeFrom crossFadeFrom],
[page:.crossFadeTo crossFadeTo],
[page:.enabled enabled],
[page:.fadeIn fadeIn],
[page:.fadeOut fadeOut],
[page:.getEffectiveWeight getEffectiveWeight],
[page:.setEffectiveWeight setEffectiveWeight],
[page:.stopFading stopFading] 입니다.
</p>
<h3>[property:Boolean zeroSlopeAtEnd]</h3>
<p>
시작, 루프 및 종료에 대해 별도의 클립없이 부드러운 보간이 가능합니다. 기본값은 *true* 입니다.
</p>
<h3>[property:Boolean zeroSlopeAtStart]</h3>
<p>
시작, 루프 및 종료에 대해 별도의 클립없이 부드러운 보간이 가능합니다. 기본값은 *true* 입니다.
</p>
<h2>메소드</h2>
<h3>[method:AnimationAction crossFadeFrom]( [param:AnimationAction fadeOutAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
<p>
해당 메소드는 [page:.fadeIn fade in] 을 수행하게 되고, 전달 된 시간 간격 내에서 동시에 다른 작업을 페이드 아웃을 수행합니다.
해당 메소드는 체인으로 연결될 수 있습니다. <br /><br />
만약 warpBoolean 이 true 일 경우, 추가적으로 [page.warp warping] 이 적용될 것입니다 (time scales 만큼 점차적으로 변경). <br /><br />
참고: *fadeIn*/*fadeOut* 처럼, 페이딩의 시작/종료의 가중치 값이 1일 때 동작됩니다.
</p>
<h3>[method:AnimationAction crossFadeTo]( [param:AnimationAction fadeInAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
<p>
해당 메소드는 [page:.fadeOut fade out] 을 수행하게 되고, 전달 된 시간 간격 내에서 동시에 다른 작업을 페이드 인을 수행합니다.
해당 메소드는 체인으로 연결될 수 있습니다. <br /><br />
만약 warpBoolean 이 true 일 경우, 추가적으로 [page.warp warping] 이 적용될 것입니다 (time scales 만큼 점차적으로 변경). <br /><br />
참고: *fadeIn*/*fadeOut* 처럼, 페이딩의 시작/종료의 가중치 값이 1일 때 동작됩니다.
</p>
<h3>[method:AnimationAction fadeIn]( [param:Number durationInSeconds] )</h3>
<p>
전달된 시간 간격 내에서 페이드 인의 [page:.weight weight] 의 값을 0 에서 1으로 점차적으로 증가합니다.
해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:AnimationAction fadeOut]( [param:Number durationInSeconds] )</h3>
<p>
전달된 시간 간격 내에서 페이드 아웃의 [page:.weight weight] 의 값을 1 에서 0으로 점차적으로 감소합니다.
해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:Number getEffectiveTimeScale]()</h3>
<p>
실질적인 타임 스케일을 반환합니다. (현재 워핑 상태 및 [page:.paused paused] 을 고려해야합니다).
</p>
<h3>[method:number getEffectiveWeight]()</h3>
<p>
실질적인 가중치를 반환합니다. (현재 페이딩 상태 및 [page:.enabled enabled] 을 고려해야합니다).
</p>
<h3>[method:AnimationClip getClip]()</h3>
<p>
애니메이션 액션에 대한 애니메이션 데이터를 보관하는 클립을 반환합니다.
</p>
<h3>[method:AnimationMixer getMixer]()</h3>
<p>
애니메이션 액션을 재생할 애니메이션 믹서를 반환합니다.
</p>
<h3>[method:Object3D getRoot]()</h3>
<p>
애니메이션 액션이 수행되는 루트 객체를 반환합니다.
</p>
<h3>[method:AnimationAction halt]( [param:Number durationInSeconds] )</h3>
<p>
전달 된 시간 간격 내에서 [page:.timeScale timeScale]을 점차적으로 애니메이션 속도를 0으로 감소시킵니다(현재 값에서부터 시작).
해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:Boolean isRunning]()</h3>
<p>
애니메이션 액션이 현재 [page:.time time] 동작중일 경우 true 을 반환합니다. <br /><br />
추가적으로 믹서에서 활성화되는 것 이외에 ([page:.isScheduled isScheduled] 참조) 다음 조건을 충족해야 합니다:
[page:.paused paused] 는 false 조건을 충족해야 합니다,
[page:.enabled enabled] 는 true 조건을 충족해야 합니다,
[page:.timeScale timeScale] 는 0이 아니여야 하고, ([page:.startAt start] 지연되지 않아야 합니다. <br /><br />
참고: *isRunning* 이 true 이여도 애니메이션이 실제 동작한다는 것을 의미하지는 않습니다.
[page : .weight weight] 가 0이 아닌 값으로 추가로 설정된 경우에만 해당됩니다.
</p>
<h3>[method:Boolean isScheduled]()</h3>
<p>
만약 애니메이션 액션이 믹서에서 활성화 될 경우 true 를 반환합니다. <br /><br />
참고: 해당 메소드는 애니메이션이 실제로 동작하고 있음을 의미하지는 않습니다. ([page:.isRunning isRunning] 에 대한 추가적인 비교 조건이 필요)
</p>
<h3>[method:AnimationAction play]()</h3>
<p>
믹서에 애니메이션 액션을 활성화하도록 요청합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
참고: 해당 메소드를 활성화 할 경우 반드시 애니메이션이 실행되는 것을 의미하지는 않습니다:
만약 애니메이션 액션 작업이 이미 완료되었거나 (마지막 루프의 끝에 도달하여), 지연된 시작 시간이 설정된 경우([page:.startAt startAt] 을 통해), 먼저 [page:.reset rest]을 처음으로 실행해야 합니다.
일부 다른 설정 ([page:.paused paused] = true, [page:.enabled enabled] = false, [page:.weight weight] = 0, [page:.timeScale timeScale] = 0) 으로 인해 애니메이션이 재생되지 않을 수 있습니다.
</p>
<h3>[method:AnimationAction reset]()</h3>
<p>
애니메이션 액션을 재설정 합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
해당 메소드는
[page:.paused paused] 를 false로 설정합니다,
[page:.enabled enabled] 를 true로 설정합니다,
[page:.time time] 을 0으로 설정합니다,
미리 예약된 페이딩 및 워핑을 중단하고 내부 루프 수를 제거하고 시작을 지연시킵니다. <br /><br />
참고: *.reset* 은 항상 [page:.stop stop] 에 의해 호출됩니다 그러나, *reset* 은 스스로 *stop* 을 호출하지는 않습니다. <br/>
기술: 만약 당신이 *stop* 과 *reset* 둘다 호출하기를 원하면, *reset* 은 호출하지 말고 *stop* 을 해야합니다. <br/>
</p>
<h3>[method:AnimationAction setDuration]( [param:Number durationInSeconds] )</h3>
<p>
애니메이션 액션의 단일 루프의 기간을 설정합니다 ([page:.timeScale timeScale] 을 조정하고, 미리 예약된 워핑을 중단).
해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:AnimationAction setEffectiveTimeScale]( [param:Number timeScale] )</h3>
<p>
[page:.timeScale timeScale] 을 설정하고 예약된 워핑을 중단합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
만약 [page:.paused paused] 가 false 일 경우, 실질적인 타임 스케일 (내부 속성) 값은 해당 timeScale 값으로 설정됩니다;
그렇지 않으면, 실질적인 타임 스케일 (현재 애니메이션에 직접적으로 영향을 미치는) 값은 0으로 설정됩니다. <br /><br />
참고: 해당 메소드로 인해 *timeScale* 의 값이 0 으로 설정 되어도 .*paused* 값은 자동적으로 *true* 로 변경되지 않습니다.
</p>
<h3>[method:AnimationAction setEffectiveWeight]( [param:Number weight] )</h3>
<p>
[page:.weight weight] 이 설정되고 예약된 페이딩을 중지 합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
만약 [page:..enabled enabled] 이 true 일 경우, 실질적인 가중치 (내부 속성* 값은 해당 weight 값으로 설정됩니다;
그렇지 않으면, 실질적인 가중치 (현재 애니메이션에 직접적으로 영향을 미치는) 값은 0으로 설정됩니다. <br /><br />
참고: 해당 메소드로 인해 *weight* 의 값이 0 으로 설정 되어도 .*enabled* 값은 자동적으로 *false*로 변경되지 않습니다.
</p>
<h3>[method:AnimationAction setLoop]( [param:Number loopMode], [param:Number repetitions] )</h3>
<p>
[page:.loop loop mode] 및 [page:.repetitions repetitions] 의 횟수를 설정합니다. 해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:AnimationAction startAt]( [param:Number startTimeInSeconds] )</h3>
<p>
지연된 시작 이벤트를 정의합니다 (일반적으로 AnimationMixer.time + deltaTimeInSeconds에서 전달됨). 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
참고: .[page:.startAt startAt] 메소드가 [page:.play play] 메소드와 함께 연결되어 있거나 애니메이션이 믹서에서 활성화 된 경우 (중지 또는 재설정없이 .*play* 를 먼저 호출하여) 애니메이션은 지정된 시간에만 시작됩니다.
</p>
<h3>[method:AnimationAction stop]()</h3>
<p>
믹서에게 애니메이션 액션을 비활성화하도록 설정합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
해당 메소드를 실행하면 작업이 즉시 중단되고 완전히 재설정 [page:.rest rest] 됩니다. <br /><br />
참고: [page:.AnimationMixer.stopAllAction mixer.stopAllAction] 을 통해 같은 믹서에 있는 모든 활성된 작업들을 한번에 종료할 수 있습니다.
</p>
<h3>[method:AnimationAction stopFading]()</h3>
<p>
애니메이션 액션에 적용되어 있는 [page:.fadeIn fading] 을 종료합니다. 해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:AnimationAction stopWarping]()</h3>
<p>
애니메이션 액션에 적용되어 있는 [page:.warp warping] 을 종료합니다. 해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h3>[method:AnimationAction syncWith]( [param:AnimationAction otherAction] )</h3>
<p>
애니메이션 액션을 전달된 다른 작업과 함께 동기화를 합니다. 해당 메소드는 체인으로 연결할 수 있습니다. <br /><br />
애니메이션 액션의 동기화는 [page:.time time] 및 [page:.timeScale timeScale] 값을 다른 작업의 값으로 대응되어 설정됩니다 (예약 된 워핑 중지). <br /><br />
참고: 다른 작업들의 *time* 및 *timeScale* 의 향후 변경 사항은 감지되지 않습니다.
</p>
<h3>[method:AnimationAction warp]( [param:Number startTimeScale], [param:Number endTimeScale], [param:Number durationInSeconds] )</h3>
<p>
들어오는 이벤트 간격에서 [page:.timeScale timeScale] 을 *startTimeScale* 에서 *endTimeScale* 로 점차적으로 재생 속도를 변경합니다. 해당 메소드는 체인으로 연결할 수 있습니다.
</p>
<h2>이벤트</h2>
<p class="desc">
단일 루프의 끝과 전체 작업의 ​​끝을 나타내는 두 가지 이벤트가 있습니다. 당신은 다음과 같이 응답 할 수 있습니다.
</p>
<code>
mixer.addEventListener( 'loop', function( e ) { …} ); // properties of e: type, action and loopDelta
mixer.addEventListener( 'finished', function( e ) { …} ); // properties of e: type, action and direction
</code>
<h2>소스</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
<!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>
<!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>
<!DOCTYPE html>
<html lang="en">
<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">
내부적으로 사용되어 애니메이션을 보조하는 여러 기능들을 가진 오브젝트입니다.
</p>
<h2>메서드</h2>
<h3>[method:Array arraySlice]( array, from, to )</h3>
<p>
Array.prototype.slice와 동일하지만, 타입 배열에서도 작동합니다.
</p>
<h3>[method:Array convertArray]( array, type, forceClone )</h3>
<p>
배열을 특정 타입으로 변환합니다.
</p>
<h3>[method:Array flattenJSON]( jsonKeys, times, values, valuePropertyName )</h3>
<p>
AOS 키프레임 포맷을 파싱하는데에 사용합니다.
</p>
<h3>[method:Array getKeyframeOrder]( times )</h3>
<p>
분류 가능한 시간과 값을 배열로 리턴합니다.
</p>
<h3>[method:Boolean isTypedArray]( object )</h3>
<p>
타입 배열이면 *true*를 리턴합니다.
</p>
<h3>[method:Array sortedArray]( values, stride, order )</h3>
<p>
이전에 [page:AnimationUtils.getKeyframeOrder getKeyframeOrder]를 통해 리턴된 배열을 정렬합니다.
</p>
<h3>[method:AnimationClip subclip]( [param:AnimationClip clip], [param:String name], [param:Number startFrame], [param:Number endFrame], [param:Number fps] )</h3>
<p>
설정한 프레임 사이에 있는 원본 클립의 일부분을 포함하는 새 클립을 만듭니다.
</p>
<h2>소스코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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">
KeyframeTrack은 시간 리스트와 관련 값으로 구성되어 있고 오브젝트의 특정 프로퍼티를 동작시키는 데에 사용되는
[link:https://en.wikipedia.org/wiki/Key_frame keyframes]의 시간별 시퀀스입니다.
</p>
<p>
three.js 애니메이션 시스템의 다양한 엘레먼트에 관해서는 매뉴얼의 "심화과정" 중 "애니메이션 시스템" 문서를 참고하세요.
</p>
<p>
[link:https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3 JSON model format]의 애니메이션 계층 구조와는 다르게
*KeyframeTrack*은 "keys" 배열에 자신의 단일 키프레임을 오브젝트로 저장하지 않습니다. (각 프레임의 시간과 값을 한 장소에 보관합니다).
</p>
<p>
그 대신에, *KeyframeTrack*에는 언제나 두 배열이 존재합니다: [page:.times times] 배열은
트랙의 모든 키프레임의 값을 시퀀스 순으로 저장하고,
[page:.values values] 배열은 애니메이션 프로퍼티의 변동값을 저장합니다.
</p>
<p>
한 특정 시점에 속한 단일 값은 간단한 숫자 뿐만이 아니라 (예를 들면) 벡터값 (위치가 변화하는 애니메이션의 경우) 혹은 쿼터니언 (회전이 있는 애니메이션의 경우)
도 가능합니다. 이러한 이유로 values 배열은(플랫 배열도 마찬가지) 보통 times 배열보다 3~4배 정도 깁니다.
</p>
<p>
다양한 애니메이션 관련 값들의 타입 대응을 위해, *KeyframeTrack*에는 하위 클래스가 있고 대부분의 프로퍼티와 메서드등을 상속받습니다.
</p>
<ul>
<li>[page:BooleanKeyframeTrack]</li>
<li>[page:ColorKeyframeTrack]</li>
<li>[page:NumberKeyframeTrack]</li>
<li>[page:QuaternionKeyframeTrack]</li>
<li>[page:StringKeyframeTrack]</li>
<li>[page:VectorKeyframeTrack]</li>
</ul>
<p>
다른 종류의 KeyframeTracks으로 [page:AnimationClip AnimationClips]를 직접 만드는 예제는
[link:https://threejs.org/examples/jsm/animation/AnimationClipCreator.js AnimationClipCreator]를 참고하세요.
</p>
<p>
명시적 값은 시간 배열에 저장된 시간 이산 지점에 특정되기 때문에, 모든 중간 값들은 보간이 되어야 합니다.
</p>
<p>
트랙의 이름은 트랙과 애니메이션 노드([page:PropertyBinding]에 의한)의 특정 프로퍼티와의 연결에 중요합니다.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )</h3>
<p>
[page:String name] - *KeyframeTrack*의 식별자.<br />
[page:Array times] - 키프레임 시간 배열, 내부적으로
[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]로 변환됩니다.<br />
[page:Array values] - 시간 배열과 관련된 값을 가진 배열, 내부적으로
[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]로 변환됩니다.<br />
[page:Constant interpolation] - 보간법 사용 타입. 가능한 값들은
[page:Animation Animation Constants] 를 참고하세요. 기본값은 [page:Animation InterpolateLinear]입니다.
</p>
<h2>프로퍼티</h2>
<h3>[property:String name]</h3>
<p>
트랙의 이름은 [page:Geometry.morphTargets morph targets] 혹은 [page:SkinnedMesh bones] 및
다른 애니메이션 오브젝트에 들어있는 값들을 참조할 수 있습니다. See
프로퍼티로 파싱될 수 있는 문자열 폼에 대해서는 [page:PropertyBinding.parseTrackName] 를 참고하세요.
</p>
<p>
트랙의 이름은 노드의 이름을 사용하거나 노드의 uuid(믹서에 전달된 장면 그래프 노드의 서브트리 안에 있어야 하지만)를 사용해서 노드를 특정할 수 있습니다.
혹은 만약 트랙 이름이 .으로 시작한다면, 트랙은 믹서에 전달된 루트 노드를 적용할 것입니다.
</p>
<p>
보통 노드 다음에는 프로퍼티가 직접 특정됩니다. 하지만 float 트랙을 통해 회전의 X 컴포넌트를 조절하려면
.rotation[x]같은 서브프로퍼티를 특정할 수도 있습니다.
</p>
<p>
오브젝트 이름으로 골자나 멀티머티리얼을 특정할 수도 있습니다. 예시:
.bones[R_hand].scale;
추가적으로, 머티리얼 배열의 네 번째 머티리얼의 확상광 중 레드 채널은 .materials[3].diffuse[r]로 접근할 수 있습니다.
</p>
<p>
PropertyBinding은 모프 타겟 이름도 해석할 수 있습니다. 예시: .morphTargetInfluences[run].
</p>
<p>
참고: 트랙의 이름은 반드시 고유할 필요는 없습니다. 다중 트랙은 같은 프로퍼티를 사용할 수 있습니다.
결과는 다중 트랙의 각각의 동작들의 가중치에 따른 혼합 가중치에 기반해야 합니다.
</p>
<h3>[property:Float32Array times]</h3>
<p>
생성자를 통해 전달된 시간 배열을 변환한 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]입니다.
</p>
<h3>[property:Float32Array values]</h3>
<p>
생성자를 통해 전달된 값 배열을 변환한 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]입니다.
</p>
<h3>[property:Constant DefaultInterpolation]</h3>
<p>
기본 보간법 타입: [page:Animation InterpolateLinear].
</p>
<h3>[property:Constant TimeBufferType ]</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
내부적으로 시간에 사용되는 버퍼 타입.
</p>
<h3>[property:Constant ValueBufferType ]</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
내부적으로 값에 사용되는 버퍼 타입.
</p>
<h2>메서드</h2>
<h3>[method:KeyframeTrack clone]()</h3>
<p>
트랙의 복사본을 리턴합니다.
</p>
<h3>[method:null createInterpolant]()</h3>
<p>
생성자에서 넘어온 보간법 파라미터 값에 기반한 [page:LinearInterpolant LinearInterpolant], [page:CubicInterpolant CubicInterpolant]
혹은 [page:DiscreteInterpolant DiscreteInterpolant]를 생성합니다.
</p>
<h3>[method:null getInterpolation]()</h3>
<p>
보간법 타입을 리턴합니다.
</p>
<h3>[method:Number getValueSize]()</h3>
<p>
각 값의 길이를 리턴합니다 ([page:.times times] 배열로 나눈 [page:.values values] 배열의 길이).
</p>
<h3>[method:DiscreteInterpolant InterpolantFactoryMethodDiscrete]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
<p>
[page:KeyframeTrack.times times] 와 [page:KeyframeTrack.times values]를 통해
새 [page:DiscreteInterpolant DiscreteInterpolant]를 만듭니다.
Float32Array는 결과를 받을 수 있으면 넘겨줄 수 있습니다.
그렇지 않다면 적당한 크기가 자동으로 생성될 것입니다.
</p>
<h3>[method:null InterpolantFactoryMethodLinear]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
<p>
[page:KeyframeTrack.times times] 와 [page:KeyframeTrack.times values]를 통해
새 [page:LinearInterpolant LinearInterpolant]를 만듭니다.
Float32Array는 결과를 받을 수 있으면 넘겨줄 수 있습니다.
그렇지 않다면 적당한 크기가 자동으로 생성될 것입니다.
</p>
<h3>[method:null InterpolantFactoryMethodSmooth]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
<p>
[page:KeyframeTrack.times times] 와 [page:KeyframeTrack.times values]를 통해
새 [page:CubicInterpolant CubicInterpolant]를 만듭니다.
Float32Array는 결과를 받을 수 있으면 넘겨줄 수 있습니다.
그렇지 않다면 적당한 크기가 자동으로 생성될 것입니다.
</p>
<h3>[method:this optimize]()</h3>
<p>
모프 타겟 시퀀스에서는 흔한 동일 시퀀스 키를 제거합니다.
</p>
<h3>[method:this scale]()</h3>
<p>
인자 값으로 모든 키프레임 배속을 설정합니다.<br /><br />
참고: 아주 유용한 기능인데, 예를 들면, 초당 프레임의 특정 비율 변환에 있어서 용이합니다
(내부적으로 [page:AnimationClip.CreateFromMorphTargetSequence animationClip.CreateFromMorphTargetSequence]를 통해).
</p>
<h3>[method:this setInterpolation]( [param:Constant interpolationType] )</h3>
<p>
보간법 타입을 설정합니다. 타입은 [page:Animation Animation Constants] 를 참고하세요.
</p>
<h3>[method:this shift]( [param:Number timeOffsetInSeconds] )</h3>
<p>
모든 키프레임을 앞으로 혹은 뒤로 이동시킵니다.
</p>
<h3>[method:this trim]( [param:Number startTimeInSeconds], [param:Number endTimeInSeconds] )</h3>
<p>
*startTime* 앞과 *endTime* 뒤의 키프레임을 제거하며 [*startTime*, *endTime*] 범위 안의 수치는 변경시키지 않습니다.
</p>
<h3>[method:Boolean validate]()</h3>
<p>
트랙의 최소 유효성 검사를 실행합니다. 유효한 트랙이면 true를 리턴합니다.
</p>
<p>
이 메서드는 트랙이 비었거나, [page:.valueSize value size] 값이 부적절하거나,
[page:.times times] 혹은 [page:.values values] 배열의 값이 부적절하거나, *times* 배열의 순서가 어긋나면 에러 로그를 콘솔에 출력합니다.
</p>
<h2>정적 메서드</h2>
<h3>[method:JSON toJSON]( [param:KeyframeTrack track] )</h3>
<p>
트랙을 JSON으로 변환합니다.
</p>
<h2>소스코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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">
내부적으로 사용되는 장면 그래프의 실제 프로퍼티에 대한 내용입니다.
</p>
<h2>생성자</h2>
<h3>[name]( [param:Object3D rootNode], path, parsedPath )</h3>
<p>
-- [page:Object3D rootNode]:
-- path
-- parsedPath (선택)
</p>
<h2>Properties</h2>
<h3>[property:Number path]</h3>
<p>
</p>
<h3>[property:Number parsedPath]</h3>
<p>
</p>
<h3>[property:Number node]</h3>
<p>
</p>
<h3>[property:Number rootNode]</h3>
<p>
</p>
<h3>[property:Object BindingType]</h3>
<p>
</p>
<h3>[property:Object Versioning]</h3>
<p>
</p>
<h3>[property:Array GetterByBindingType]</h3>
<p>
</p>
<h3>[property:Array SetterByBindingTypeAndVersioning]</h3>
<p>
</p>
<h2>Methods</h2>
<h3>[method:null getValue]( [param:Array targetArray], [param:Number offset] )</h3>
<p>
</p>
<h3>[method:null setValue]( [param:Array sourceArray], [param:Number offset] )</h3>
<p>
</p>
<h3>[method:null bind]( )</h3>
<p>
장면 그래프에 있는 프로퍼티에 대한 게터와 세터를 생성합니다. 내부적으로
[page:PropertyBinding.getValue getValue] 와 [page:PropertyBinding.setValue setValue]로 사용됩니다.
</p>
<h3>[method:null unbind]( )</h3>
<p>
장면 그래프에 있는 프로퍼티에 대한 게터와 세터의 연결을 끊습니다.
</p>
<h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>
<p>
새 Composite PropertyBinding을 생성합니다.
</p>
<h3>[method:Constructor create]( root, path, parsedPath )</h3>
<p>
새 Composite PropertyBinding 혹은 (만약 루트가 [page:AnimationObjectGroup]이면) PropertyBinding을 생성합니다.
</p>
<h3>[method:Constructor parseTrackName]( trackName )</h3>
<p>
다음 형식에 맞는 문자열을 확인합니다:<br />
-- nodeName.property<br />
-- nodeName.property[accessor]<br />
-- nodeName.material.property[accessor]<br />
-- uuid.property[accessor]<br />
-- uuid.objectName[objectIndex].propertyName[propertyIndex]<br />
-- parentName/nodeName.property<br />
-- parentName/parentName/nodeName.property[index]<br />
-- .bone[Armature.DEF_cog].position<br />
-- scene:helium_balloon_model:helium_balloon_model.position
</p>
<h3>[method:Constructor findNode]( root, nodeName )</h3>
<p>
노드 트리 혹은 [page:Skeleton Skeleton]에서 노드를 찾습니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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">
내부적으로 사용되는 가중치 축적을 허용하는 버퍼 장면 그래프 프로퍼티입니다.
</p>
<h2>생성자</h2>
<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
<p>
-- binding <br />
-- typeName <br />
-- valueSize <br />
</p>
<h2>프로퍼티</h2>
<h3>[property:PropertyBinding binding]</h3>
<p>
</p>
<h3>[property:TypedArray buffer]</h3>
<p>
[page:PropertyMixer valueSize] * 4 크기의 버퍼입니다. <br /><br />
다음과 같은 레이아웃을 가지고 있습니다: [ incoming | accu0 | accu1 | orig ]<br /><br />
보간법에서 .result처름 .buffer를 사용할 수 있으며 데이터는 'incoming'으로 갑니다.
'accu0' 와 'accu1' 는 누적 결과의 프레임 교차 및 변화 비교감지에 사용됩니다.
'orig'는 프로퍼티의 원래 상태를 저장합니다.
</p>
<h3>[property:Number cumulativeWeight]</h3>
<p>
기본값은 *0*입니다.
</p>
<h3>[property:Number valueSize]</h3>
<p>
</p>
<h3>[property:Number referenceCount]</h3>
<p>
기본값은 *0*입니다.
</p>
<h3>[property:Number useCount]</h3>
<p>
기본값은 *0*입니다.
</p>
<h2>메서드</h2>
<h3>[method:null accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
<p>
[page:PropertyMixer.buffer buffer][accuIndex] 'incoming' 영역의 데이터를 'accu[i]'에 축적합니다.<br />
가중치가 *0*이면 아무 동작을 하지 않습니다.
</p>
<h3>[method:null apply]( [param:Number accuIndex] )</h3>
<p>
누적치가 달라지면 [page:PropertyMixer.buffer buffer] 'accu[i]'의 상태를 적용합니다.
</p>
<h3>[method:null saveOriginalState]( )</h3>
<p>
기본 프로퍼티의 상태를 기억하고 양 쪽의 누적치에 복사합니다.
</p>
<h3>[method:null restoreOriginalState]( )</h3>
<p>
'saveOriginalState'로 받은 이전 상태를 다시 연결합니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
불린 키프레임 값의 트랙.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (required) KeyframeTrack의 식별자.<br />
[page:Array times] - (required) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]을 확인하세요.
</p>
<h3>[property:Constant DefaultInterpolation]</h3>
<p>
기본 보간법 타입, [page:Animation InterpolateDiscrete].
</p>
<h3>[property:Array ValueBufferType]</h3>
<p>
일반 배열([page:KeyframeTrack]의 *ValueBufferType*과 달리 여기서는 Float32Array가 아닙니다).
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'bool'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 확인하세요.
</p>
<h3>[method:null InterpolantFactoryMethodLinear ]()</h3>
<p>
이 메서드의 값은 'undefined'이기 때문에, 이산 프로퍼티에 영향을 미치지 않습니다.
</p>
<h3>[method:null InterpolantFactoryMethodSmooth ]()</h3>
<p>
이 메서드의 값은 'undefined'이기 때문에, 이산 프로퍼티에 영향을 미치지 않습니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
색 변화를 대표하는 키프레임 값의 트랙입니다.<br /><br />
이 하위클래스의 기본 구현은 아직 별다른 특별한 것이 없습니다. 하지만 여기에서 색 공간의 매개변수화가 일어납니다.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (필수) KeyframeTrack의 식별자.<br />
[page:Array times] - (필수) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
[page:Constant interpolation] - 기본 보간법 타입. 가능한 값들에 대해서는
[page:Animation Animation Constants] 를 확인하세요. 기본값은
[page:Animation InterpolateLinear] 입니다.
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'color'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 참고하세요.
</p>
<h2>소스코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
숫자 키프레임 값의 트랙.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (필수) KeyframeTrack의 식별자.<br />
[page:Array times] - (필수) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
[page:Constant interpolation] - 기본 보간법 타입. 가능한 값들에 대해서는
[page:Animation Animation Constants] 를 확인하세요. 기본값은
[page:Animation InterpolateLinear] 입니다.
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'number'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 참고하세요.
</p>
<h2>소스코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
쿼터니언 키프레임 값 트랙
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (필수) KeyframeTrack의 식별자.<br />
[page:Array times] - (필수) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
[page:Constant interpolation] - 기본 보간법 타입. 가능한 값들에 대해서는
[page:Animation Animation Constants] 를 확인하세요. 기본값은
[page:Animation InterpolateLinear] 입니다.
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[property:Constant DefaultInterpolation]</h3>
<p>
기본 보간법 타입, [page:Animation InterpolateDiscrete].
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'quaternion'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[method:null InterpolantFactoryMethodLinear]()</h3>
<p>
키프레임의 [page:KeyframeTrack.values values], [page:KeyframeTrack.times times] 및
[page:KeyframeTrack.valueSize valueSize]를 기반으로
새 [page:QuaternionLinearInterpolant QuaternionLinearInterpolant]를 리턴합니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
문자열 키프레임 값 트랙.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (필수) KeyframeTrack의 식별자.<br />
[page:Array times] - (필수) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
[page:Constant interpolation] - 기본 보간법 타입. 가능한 값들에 대해서는
[page:Animation Animation Constants] 를 확인하세요. 기본값은
[page:Animation InterpolateLinear] 입니다.
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[property:Constant DefaultInterpolation]</h3>
<p>
기본 보간법 타입, [page:Animation InterpolateDiscrete].
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'quaternion'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[method:null InterpolantFactoryMethodLinear]()</h3>
<p>
이 메서드의 값은 'undefined'이기 때문에, 이산 프로퍼티에 영향을 미치지 않습니다.
</p>
<h3>[method:null InterpolantFactoryMethodSmooth]()</h3>
<p>
이 메서드의 값은 'undefined'이기 때문에, 이산 프로퍼티에 영향을 미치지 않습니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:KeyframeTrack] &rarr;
<h1>[name]</h1>
<p class="desc">
벡터 키프레임 값 트랙.
</p>
<h2>생성자</h2>
<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
<p>
[page:String name] - (필수) KeyframeTrack의 식별자.<br />
[page:Array times] - (필수) 키프레임 시간 배열.<br />
[page:Array values] - 특정 시점의 키프레임 값.<br />
[page:Constant interpolation] - 기본 보간법 타입. 가능한 값들에 대해서는
[page:Animation Animation Constants] 를 확인하세요. 기본값은
[page:Animation InterpolateLinear] 입니다.
</p>
<h2>프로퍼티</h2>
<p class="desc">
상속 프로퍼티는 [page:KeyframeTrack]를 참고하세요.
</p>
<h3>[property:String ValueTypeName]</h3>
<p>
문자열 'vector'.
</p>
<h2>메서드</h2>
<p class="desc">
상속 메서드는 [page:KeyframeTrack]를 참고하세요.
</p>
<h2>소스코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:Object3D] &rarr;
<h1>[name]</h1>
<p class="desc">
위치가 지정되지 않은 (전역) 오디오 오브젝트.<br /><br />
[link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API]를 사용합니다.
</p>
<h2>코드 예제</h2>
<code>
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create a global audio source
const sound = new THREE.Audio( listener );
// load a sound and set it as the Audio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setLoop( true );
sound.setVolume( 0.5 );
sound.play();
});
</code>
<h2>예제</h2>
<p>
[example:webaudio_sandbox webaudio / sandbox ]<br />
[example:webaudio_visualizer webaudio / visualizer ]
</p>
<h2>생성자</h2>
<h3>[name]( [param:AudioListener listener] )</h3>
<p>
리스너 — (필수) [page:AudioListener AudioListener] 인스턴스.
</p>
<h2>프로퍼티</h2>
<h3>[property:Boolean autoplay]</h3>
<p>자동으로 재생할지에 대한 설정. 기본값은 *false*입니다.</p>
<h3>[property:AudioContext context]</h3>
<p>생성자로 만들어진 [page:AudioListener listener]의 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].</p>
<h3>[property:Number detune]</h3>
<p>피치를 조정하며 100 단위로 조절합니다. +/- 100 은 세미톤 조절. +/- 1200 은 옥타브 조절. 기본값은 *0*입니다.</p>
<h3>[property:Array filters]</h3>
<p>[link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes] 배열입니다.
다양한 저차 필터를 적용하여 보다 복잡한 사운드 효과를 만들 수 있습니다. 필터는 [page.Audio.setFilter] 또는 [page:Audio.setFilters]로 설정합니다.</p>
<h3>[property:GainNode gain]</h3>
<p> [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]()를 사용해 만들어진 [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode].</p>
<h3>[property:Boolean hasPlaybackControl]</h3>
<p>[page:Audio.play play](), [page:Audio.pause pause]()등의 메서드를 통해 재생 컨트롤이 가능한지에 대한 값. 기본값은 *true*입니다.</p>
<h3>[property:Boolean isPlaying]</h3>
<p>오지오가 현재 재생중인지에 대한 값입니다.</p>
<h3>[property:AudioListener listener]</h3>
<p>이 오디오의 리스터 오브젝트 자료입니다.</p>
<h3>[property:Number playbackRate]</h3>
<p>재생 속도. 기본값은 *1*입니다.</p>
<h3>[property:Number offset]</h3>
<p>재생이 시작돼야 하는 오디오 버퍼 안의 시간 오프셋입니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()의 *offset* 파라미터와 동일. 기본값은 *0*입니다.</p>
<h3>[property:Number duration]</h3>
<p>오디오 길이를 오버라이드합니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()의 *duration* 파라미터와 동일. 전체 버퍼 재생을 위한 기본값은 *undefined*입니다.</p>
<h3>[property:String source]</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]()로 생성된
[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode]입니다.
</p>
<h3>[property:String sourceType]</h3>
<p>오디오 소스 타입. 기본값은 문자열 'empty'.</p>
<h3>[property:String type]</h3>
<p>타입 표시 문자열을 표시, 'Audio'로 설정합니다.</p>
<h2>메서드</h2>
<h3>[method:Audio connect]()</h3>
<p>
[page:Audio.source]에 연결합니다. 시작 및 필터 설정/제거 시에 내부적으로 사용됩니다.
</p>
<h3>[method:Audio disconnect]()</h3>
<p>
[page:Audio.source] 연결을 해제합니다. 필터 설정/제거 시에 내부적으로 사용됩니다.
</p>
<h3>[method:BiquadFilterNode getFilter]()</h3>
<p>
[page:Audio.filters filters] 배열의 첫 번째 요소를 리턴합니다.
</p>
<h3>[method:Array getFilters]()</h3>
<p>
[page:Audio.filters filters] 배열을 리턴합니다.
</p>
<h3>[method:Boolean getLoop]()</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]값을 리턴합니다(재생이 반복되는지).
</p>
<h3>[method:GainNode getOutput]()</h3>
<p>
[page:Audio.gain gainNode]를 리턴합니다.
</p>
<h3>[method:Float getPlaybackRate]()</h3>
<p>
[page:Audio.playbackRate playbackRate]의 값을 리턴합니다.
</p>
<h3>[method:Float getVolume]( value )</h3>
<p>
현재 볼륨을 리턴합니다.
</p>
<h3>[method:Audio play]( delay )</h3>
<p>
[page:Audio.hasPlaybackControl hasPlaybackControl]가 true면, 재생을 시작합니다.
</p>
<h3>[method:Audio pause]()</h3>
<p>
[page:Audio.hasPlaybackControl hasPlaybackControl]가 true면, 재생을 멈춥니다.
</p>
<h3>[method:null onEnded]()</h3>
<p>
재생이 끝나면 자동으로 호출됩니다.
</p>
<h3>[method:Audio setBuffer]( audioBuffer )</h3>
<p>
[page:Audio.source source]를 audioBuffer에 설치하고, [page:Audio.sourceType sourceType]를 'buffer'에 설정합니다.<br />
[page:Audio.autoplay autoplay]의 경우에는 재생도 시작합니다.
</p>
<h3>[method:Audio setFilter]( filter )</h3>
<p>
오디오에 새 [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNode]를 적용합니다.
</p>
<h3>[method:Audio setFilters]( [param:Array value] )</h3>
<p>
필터 배열들의 값<br />
오디오에 [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes] 배열을 적용합니다.
</p>
<h3>[method:Audio setLoop]( [param:Boolean value] )</h3>
<p>
*value*를 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]로 설정합니다(재생이 반복되는지).
</p>
<h3>[method:Audio setLoopStart]( [param:Float value] )</h3>
<p>
*value*를 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart]로 설정합니다.
</p>
<h3>[method:Audio setLoopEnd]( [param:Float value] )</h3>
<p>
*value*를 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd]로 설정합니다.
</p>
<h3>[method:Audio setMediaElementSource]( mediaElement )</h3>
<p>
이 오디오 소스에 [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement]타입의 오브젝트를 적용합니다.<br />
[page:Audio.hasPlaybackControl hasPlaybackControl]를 false로 설정합니다.
</p>
<h3>[method:Audio setMediaStreamSource]( mediaStream )</h3>
<p>
이 오디오 소스에 [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream]타입의 오브젝트를 적용합니다.<br />
[page:Audio.hasPlaybackControl hasPlaybackControl]를 false로 설정합니다.
</p>
<h3>[method:Audio setNodeSource]( audioNode )</h3>
<p>
audioBuffer에 [page:Audio.source source]를 설치하고 'audioNode'를 [page:Audio.sourceType sourceType]로 설정합니다.<br />
[page:Audio.hasPlaybackControl hasPlaybackControl]를 false로 설정합니다.
</p>
<h3>[method:Audio setPlaybackRate]( [param:Float value] )</h3>
<p>
[page:Audio.hasPlaybackControl hasPlaybackControl]이 활성화되어 있으면 *value*를 [page:Audio.playbackRate playbackRate]로 설정합니다.
</p>
<h3>[method:Audio setVolume]( [param:Float value] )</h3>
<p>
볼륨을 설정합니다.
</p>
<h3>[method:Audio stop]()</h3>
<p>
[page:Audio.hasPlaybackControl hasPlaybackControl]가 활성화되어 있으면 재생을 중단합니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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">
오디오 데이터를 분석하기 위해 [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode]를 사용하는
AudioAnalyser 오브젝트를 만듭니다.<br /><br />
[link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API]를 사용합니다.
</p>
<h2>코드 예제</h2>
<code>
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create an Audio source
const sound = new THREE.Audio( listener );
// load a sound and set it as the Audio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setLoop(true);
sound.setVolume(0.5);
sound.play();
});
// create an AudioAnalyser, passing in the sound and desired fftSize
const analyser = new THREE.AudioAnalyser( sound, 32 );
// get the average frequency of the sound
const data = analyser.getAverageFrequency();
</code>
<h2>예제</h2>
<p>
[example:webaudio_sandbox webaudio / sandbox ]<br />
[example:webaudio_visualizer webaudio / visualizer ]
</p>
<h2>생성자</h2>
<h3>[name]( audio, [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize fftSize] )</h3>
<p>
새 [page:AudioAnalyser AudioAnalyser]를 만듭니다.
</p>
<h2>프로퍼티</h2>
<h3>[property:AnalyserNode analyser]</h3>
<p>오디오를 분석하는데 사용하는 [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode]입니다.</p>
<h3>[property:Integer fftSize]</h3>
<p>
주파수 영역을 결정하는 데 사용되는 FFT(고속 푸리에 변환)의 크기를 나타내는 최대 2048까지의 0이 아닌 두 개의 크기.
자세한 내용은 [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize this page]를 참고하세요.
</p>
<h3>[property:Uint8Array data]</h3>
<p>
A Uint8Array with size determined by
분석 데이터 저장에 사용되는 [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/frequencyBinCount analyser.frequencyBinCount]로
결정된 크기의 Uint8Array.
</p>
<h2>메서드</h2>
<h3>[method:Uint8Array getFrequencyData]()</h3>
<p>
웹 오디오의 [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData getByteFrequencyData] 메서드를 사용합니다.
해당 페이지를 확인하세요.
</p>
<h3>[method:Number getAverageFrequency]()</h3>
<p>
[page:AudioAnalyser.getFrequencyData getFrequencyData]메서드에서 리턴된 주파수 평균값입니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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">
[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext]를 설정하는 메서드들에 대해 다룹니다.<br /><br />
[page:AudioListener AudioListener] 및 [page:AudioLoader AudioLoader] 클래스에서 내부적으로 사용됩니다.<br /><br />
[link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API]를 사용합니다.
</p>
<h2>메서드</h2>
<h3>[method:AudioContext getContext]()</h3>
<p>
선언되어 있는 경우에는 외부 영역의 *context* 변수의 값을 리턴하고
아니라면 새로운 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext]를 설정합니다.
</p>
<h3>[method:AudioContext setContext]( [param:AudioContext value] )</h3>
<p>
외부 영역의 *context* 변수에 *value*를 설정합니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:Object3D] &rarr;
<h1>[name]</h1>
<p class="desc">
[name]는 장면 안의 모든 지정 및 비지정 오디오 효과의 가상 [link:https://developer.mozilla.org/de/docs/Web/API/AudioListener listener]입니다.<br />
three.js 앱은 일반적으로 단일 [name] 인스턴스를 생성합니다. 이는 [page:Audio Audio]와 [page:PositionalAudio PositionalAudio] 같은 오디오 엔티티의 필수 생성자 파라미터입니다.<br />
대부분의 경우, 리스너 오브젝트는 카메라의 자식입니다. 그래서 카메라의 3D 변환은 곧 리스너의 3D 변환이 됩니다.
</p>
<h2>코드 예제</h2>
<code>
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create a global audio source
const sound = new THREE.Audio( listener );
// load a sound and set it as the Audio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setLoop(true);
sound.setVolume(0.5);
sound.play();
});
</code>
<h2>예제</h2>
<p>
[example:webaudio_sandbox webaudio / sandbox ]<br />
[example:webaudio_timing webaudio / timing ]<br />
[example:webaudio_visualizer webaudio / visualizer ]
</p>
<h2>생성자</h2>
<h3>[name]( )</h3>
<p>
새 AudioListener를 만듭니다.
</p>
<h2>프로퍼티</h2>
<h3>[property:AudioContext context]</h3>
<p>생성자로 만들어진 [page:AudioListener listener]의 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext]입니다.</p>
<h3>[property:GainNode gain]</h3>
<p>[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]()을 사용해 만들어진
[link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode]입니다.</p>
<h3>[property:AudioNode filter]</h3>
<p>기본값은 *null*입니다.</p>
<h3>[property:Number timeDelta]</h3>
<p>오디오 엔티티에 대한 시간 델타값입니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/linearRampToValueAtTime AudioParam.linearRampToValueAtTimeDefault]()에서 사용됩니다. 기본값은 *0*입니다.</p>
<h2>메서드</h2>
<h3>[method:GainNode getInput]()</h3>
<p>
[page:AudioListener.gain gainNode]를 리턴합니다.
</p>
<h3>[method:AudioListener removeFilter]()</h3>
<p>
[page:AudioListener.filter filter] 프로퍼티를 *null*로 설정합니다.
</p>
<h3>[method:AudioNode getFilter]()</h3>
<p>
[page:AudioListener.filter filter] 프로퍼티의 값을 리턴합니다.
</p>
<h3>[method:AudioListener setFilter]( [param:AudioNode value] )</h3>
<p>
[page:AudioListener.filter filter] 프로퍼티를 *value*로 설정합니다.
</p>
<h3>[method:Float getMasterVolume]()</h3>
<p>
볼륨을 리턴합니다.
</p>
<h3>[method:AudioListener setMasterVolume]( [param:Number value] )</h3>
<p>
볼륨을 설정합니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
<!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>
[page:Object3D] &rarr; [page:Audio] &rarr;
<h1>[name]</h1>
<p class="desc">
지정 오디오 오브젝트를 생성합니다.<br /><br />
[link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API]를 사용합니다.
</p>
<h2>코드 예제</h2>
<code>
// create an AudioListener and add it to the camera
const listener = new THREE.AudioListener();
camera.add( listener );
// create the PositionalAudio object (passing in the listener)
const sound = new THREE.PositionalAudio( listener );
// load a sound and set it as the PositionalAudio object's buffer
const audioLoader = new THREE.AudioLoader();
audioLoader.load( 'sounds/song.ogg', function( buffer ) {
sound.setBuffer( buffer );
sound.setRefDistance( 20 );
sound.play();
});
// create an object for the sound to play from
const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
const mesh = new THREE.Mesh( sphere, material );
scene.add( mesh );
// finally add the sound to the mesh
mesh.add( sound );
</code>
<h2>예제</h2>
<p>
[example:webaudio_orientation webaudio / orientation ]<br />
[example:webaudio_sandbox webaudio / sandbox ]<br />
[example:webaudio_timing webaudio / timing ]
</p>
<h2>생성자</h2>
<h3>[name]( [param:AudioListener listener] )</h3>
<p>
리스너 — (필수) [page:AudioListener AudioListener] 인스턴스.
</p>
<h2>프로퍼티</h2>
<p>
상속받은 프로퍼티는 [page:Audio Audio] 클래스를 참고하세요.
</p>
<h3>[property:PannerNode panner]</h3>
<p>PositionalAudio의 [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode PannerNode].</p>
<h2>메서드</h2>
<p>
상속받은 메서드는 [page:Audio Audio] 클래스를 참고하세요.
</p>
<h3>[method:PannerNode getOutput]()</h3>
<p>
[page:PositionalAudio.panner panner]를 리턴합니다.
</p>
<h3>[method:Float getRefDistance]()</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance]의 값을 리턴합니다.
</p>
<h3>[method:PositionalAudio setRefDistance]( [param:Float value] )</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance]의 값을 설정합니다.
</p>
<h3>[method:Float getRolloffFactor]()</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor]의 값을 리턴합니다.
</p>
<h3>[method:PositionalAudio setRolloffFactor]( [param:Float value] )</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor]의 값을 설정합니다.
</p>
<h3>[method:String getDistanceModel]()</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel]의 값을 리턴합니다.
</p>
<h3>[method:PositionalAudio setDistanceModel]( [param:String value] )</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel]의 값을 설정합니다.
</p>
<h3>[method:Float getMaxDistance]()</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance]의 값을 리턴합니다.
</p>
<h3>[method:PositionalAudio setMaxDistance]( [param:Float value] )</h3>
<p>
[link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance]의 값을 리턴합니다.
</p>
<h3>[method:PositionalAudio setDirectionalCone]( [param:Float coneInnerAngle], [param:Float coneOuterAngle], [param:Float coneOuterGain] )</h3>
<p>
이 메서드는 전방향 사운드를 [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode directional sound]로 변환하기 위해 사용할 수 있습니다.
</p>
<h2>소스 코드</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
......@@ -116,7 +116,7 @@
拷贝 TypedArray 相关注意事项详见 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]。
</p>
<h3>[method:null copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
<h3>[method:this copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
<p>将一个矢量从 bufferAttribute[index2] 拷贝到 [page:BufferAttribute.array array][index1] 中。</p>
<h3>[method:BufferAttribute copyColorsArray]( [param:Array colors] ) </h3>
......@@ -143,7 +143,7 @@
<h3>[method:Number getW]( [param:Integer index] ) </h3>
<p>获取给定索引的矢量的第四维元素 (即 W 值)。</p>
<h3>[method:null onUpload]( [param:Function callback] ) </h3>
<h3>[method:this onUpload]( [param:Function callback] ) </h3>
<p>见 onUploadCallback 属性。<br /><br />
在 [example:webgl_buffergeometry WebGL / Buffergeometry] 中,该方在缓存数据传递给 GPU 后,用于释放内存。
</p>
......
......@@ -24,9 +24,9 @@
<h2>例子</h2>
<p>
[example:webgl_geometries WebGL / geometries]<br/>
[example:webgl_buffergeometry_compression WebGL / buffergeometry / compression]<br/>
[example:webgl_geometry_convex WebGL / geometry / convex]<br/>
[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor]
[example:webgl_loader_nrrd WebGL / loader / nrrd]
</p>
<h2>构造函数</h2>
......
......@@ -70,7 +70,7 @@
[page:Materials THREE.AddOperation]。如果选择多个,则使用[page:.reflectivity]在两种颜色之间进行混合。
</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p>环境贴图。默认值为null。</p>
<h3>[property:Texture lightMap]</h3>
......
......@@ -89,7 +89,7 @@
<h3>[property:Float emissiveIntensity]</h3>
<p> 放射光强度。调节发光颜色。默认为1。</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p> 环境贴图。默认值为null。</p>
<h3>[property:Texture lightMap]</h3>
......
......@@ -109,7 +109,7 @@
<h3>[property:Float emissiveIntensity]</h3>
<p>放射光强度。调节发光颜色。默认为1。</p>
<h3>[property:TextureCube envMap]</h3>
<h3>[property:Texture envMap]</h3>
<p>环境贴图。默认值为null。</p>
......
......@@ -62,6 +62,7 @@
[example:webgl_materials_variations_physical materials / variations / physical]<br />
[example:webgl_materials_physical_clearcoat materials / physical / clearcoat]<br />
[example:webgl_materials_physical_reflectivity materials / physical / reflectivity]<br />
[example:webgl_materials_physical_sheen materials / physical / sheen]<br />
[example:webgl_materials_physical_transmission materials / physical / transmission]
</p>
......@@ -129,6 +130,12 @@
这模拟了非金属材质的反射率。当[page:MeshStandardMaterial]为*1.0*时,此属性无效。
</p>
<h3>[property:Color sheen]</h3>
<p>
If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet.
The sheen color provides the ability to create two-tone specular materials. *null* by default.
</p>
<h3>[property:Float transmission]</h3>
<p>
Degree of transmission (or optical transparency), from *0.0* to *1.0*. Default is *0.0*.<br />
......
......@@ -132,15 +132,9 @@
<h3>[property:Float emissiveIntensity]</h3>
<p>放射光强度。调节发光颜色。默认为1。</p>
<h3>[property:TextureCube envMap]</h3>
<p> 环境贴图。默认值为null。
请注意,为了使材质粗糙度属性能够正确地模糊环境贴图,shader必须能够访问环境纹理的mipmaps。
使用默认设置创建的TextureCubes已正确配置; 如果手动调整纹理参数,
请确保将minFilter设置为其中一个MipMap选项,并且未强制禁用mip贴图。</p>
<p>
注意:MeshStandardMaterial 仅支持[link:https://threejs.org/docs/#api/textures/CubeTexture cube environment maps]。
如果要使用equirectangular贴图,则需要使用 [page:WebGLCubeRenderTarget.fromEquirectangularTexture WebGLCubeRenderTarget.fromEquirectangularTexture]()。
详细信息请参阅此示例[link:https://threejs.org/examples/webgl_materials_envmaps_exr.html example]。
<h3>[property:Texture envMap]</h3>
<p>The environment map. To ensure a physically correct rendering, you should only add
environment maps which were preprocessed by [page:PMREMGenerator]. Default is null.
</p>
<h3>[property:Float envMapIntensity]</h3>
......
......@@ -107,7 +107,6 @@
[example:webgl_materials_texture_hdr webgl / materials / texture / hdr]<br />
[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
[example:webgl_nearestneighbour webgl / nearestneighbour]<br />
[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />
[example:webgl_postprocessing_godrays webgl / postprocessing / godrays]
</p>
......
......@@ -100,7 +100,7 @@ zAxis = (c, f, i)
使用基于列优先格式[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major]的数组来设置该矩阵。
</p>
<h3>[method:this invert()]()</h3>
<h3>[method:this invert]()</h3>
<p>
Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
......
......@@ -172,7 +172,7 @@ zAxis = (c, g, k)
使用基于列优先格式[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major]的数组来设置该矩阵。
</p>
<h3>[method:this invert()]()</h3>
<h3>[method:this invert]()</h3>
<p>
Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
......
......@@ -65,6 +65,11 @@
<h2>方法</h2>
<p>See the base [page:Mesh] class for common methods.</p>
<h3>[method:null dispose]()</h3>
<p>
Frees the internal resources of this instance.
</p>
<h3>[method:null getColorAt]( [param:Integer index], [param:Color color] )</h3>
<p>
[page:Integer index]: The index of an instance. Values have to be in the range [0, count].
......
......@@ -322,7 +322,7 @@
<h3>[method:Float getClearAlpha]()</h3>
<p>返回一个表示当前alpha值的[page:Float float],范围0到1</p>
<h3>[method:Color getClearColor]()</h3>
<h3>[method:Color getClearColor]( [param:Color target] )</h3>
<p>返回一个表示当前颜色值的[page:Color THREE.Color]实例</p>
<h3>[method:WebGLRenderingContext getContext]()</h3>
......@@ -385,6 +385,9 @@
Renders an instance of [page:ImmediateRenderObject],由renderObjectImmediate对象调用。
</p>
<h3>[method:null resetState]()</h3>
<p>Can be used to reset the internal WebGL state. This method is mostly relevant for applications which share a single WebGL context across multiple WebGL libraries.</p>
<h3>[method:null setAnimationLoop]( [param:Function callback] )</h3>
<p>[page:Function callback] — 每个可用帧都会调用的函数。 如果传入‘null’,所有正在进行的动画都会停止。</p>
<p>可用来代替[link:https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame]的内置函数. 对于WebXR项目,必须使用此函数。</p>
......
......@@ -153,7 +153,7 @@
Remove an [page:SkinnedMesh], [page:Camera], or [page:Audio] from helper.
</p>
<h3>[method:MMDAnimationHelper update]( [param:Nummber delta] )</h3>
<h3>[method:MMDAnimationHelper update]( [param:Number delta] )</h3>
<p>
[page:Number delta] — number in second<br />
</p>
......
......@@ -78,7 +78,7 @@
<h3>[method:CCDIKSolver reset]()</h3>
<p>
Resets Rigid bodies transorm to current bone's.
Resets Rigid bodies transform to current bone's.
</p>
<h3>[method:CCDIKSolver setGravity]( [param:Vector3 gravity] )</h3>
......
......@@ -68,12 +68,12 @@
<h3>[property:Number heightMax]</h3>
<p>
Upper camera height limit used for movement speed adjusment. Default is *1*.
Upper camera height limit used for movement speed adjustment. Default is *1*.
</p>
<h3>[property:Number heightMin]</h3>
<p>
Lower camera height limit used for movement speed adjusment. Default is *0*.
Lower camera height limit used for movement speed adjustment. Default is *0*.
</p>
<h3>[property:Boolean heightSpeed]</h3>
......
......@@ -13,7 +13,7 @@
Orbit controls allow the camera to orbit around a target.<br>
To use this, as with all files in the /examples directory, you will have to
include the file seperately in your HTML.
include the file separately in your HTML.
</p>
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册