This commit is contained in:
蔡玲
2024-12-04 10:21:04 +08:00
parent 9d776c65e9
commit c1ac42072f
4042 changed files with 2293732 additions and 1185 deletions

View File

@@ -0,0 +1,89 @@
<!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">
This class represents an abstraction of the WebXR Device API and is internally used by [page:WebGLRenderer].
[name] also provides a public interface that allows users to enable/disable XR and perform XR related tasks like
for instance retrieving controllers.
</p>
<h2>Properties</h2>
<h3>[property:Boolean enabled]</h3>
<p>
This flag notifies the renderer to be ready for XR rendering. Default is *false*. Set it to *true* if you are going
to use XR in your app.
</p>
<h3>[property:Boolean isPresenting]</h3>
<p>
Whether XR presentation is active or not. Default is *false*. This flag is read-only and automatically set by [name].
</p>
<h2>Methods</h2>
<h3>[method:Group getController]( [param:Integer index] )</h3>
<p>
[page:Integer index] — The index of the controller. <br /><br />
Returns a [page:Group] representing the so called *target ray* space of the controller.
Use this space for visualizing 3D objects that support the user in pointing tasks like UI interaction.
</p>
<h3>[method:Group getControllerGrip]( [param:Integer index] )</h3>
<p>
[page:Integer index] — The index of the controller. <br /><br />
Returns a [page:Group] representing the so called *grip* space of the controller.
Use this space if the user is going to hold other 3D objects like a lightsaber.
</p>
<p>
Note: If you want to show something in the user's hand AND offer a pointing ray at the same time, you'll want to attached the handheld object to the
group returned by [page:.getControllerGrip]() and the ray to the group returned by [page:.getController](). The idea is to have two different groups
in two different coordinate spaces for the same WebXR controller.
</p>
<h3>[method:void setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )</h3>
<p>
[page:Float framebufferScaleFactor] — The framebuffer scale factor to set.<br /><br />
Specifies the scaling factor to use when determining the size of the framebuffer when rendering to a XR device.
The value is relative to the default XR device display resolution. Default is *1*. A value of *0.5* would specify
a framebuffer with 50% of the display's native resolution.
</p>
<p>
Note: It is not possible to change the framebuffer scale factor while presenting XR content.
</p>
<h3>[method:void setReferenceSpaceType]( [param:String referenceSpaceType] )</h3>
<p>
[page:String referenceSpaceType] — The reference space type to set.<br /><br />
Can be used to configure a spatial relationship with the user's physical environment. Depending on how the user moves in 3D space, setting an
appropriate reference space can improve tracking. Default is *local-floor*.
Please check out the [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] for possible values and their use cases.
</p>
<p>
Note: It is not possible to change the reference space type while presenting XR content.
</p>
<h2>Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>