'''Mirrors''' are reflective surfaces that allow users to view a mirrored reflection of their avatar, alongside other users and/or the world they're in, depending on the settings of the world. Many worlds contain mirrors intended for users to sit in front of as they socialize. This activity is colloquially referred to as "mirror dwelling". Users may also choose to summon a mirror of their own though only visible to them.
It can be enabled and configured via the [[Special:MyLanguage/Action Menu|Action Menu]] or the [[Special:MyLanguage/Main Menu|Main Menu]]'s [[Special:MyLanguage/Settings|Settings]] page.
[[File:Mirrorsettings actionmenu.webp|thumb|A demonstration of the Personal Mirror settings within the Action Menu.]][[File:Facemirrorsettings actionmenu.webp|thumb|A demonstration of the Face Mirror settings within the Action Menu.]]
A face mirror is a type of mirror that displays the face of a user's avatar in their [[Special:MyLanguage/HUD|HUD]]. Face mirrors are designed to help a user stay aware of their avatar's facial expressions, especially if they're controlled by gestures. Unlike a traditional mirror, the face mirror does not portray depth. In desktop mode, the Face Mirror resolution scales with its displayed size up to 2048×2048 pixels. When streaming via [[Special:MyLanguage/Settings#Face Mirror|Spout]], it always renders at maximum resolution.
It can be enabled and configured via the [[Special:MyLanguage/Action Menu|Action Menu]] or the [[Special:MyLanguage/Main Menu|Main Menu]]'s [[Special:MyLanguage/Settings|Settings]] page.
A calibration mirror is a type of mirror that activates automatically when the user presses the "Calibrate FBT" button. It is visible only to the user who is calibrating and disappears once they are done. The calibration mirror displays only the user's avatar, controllers, and FBT tracker model, which can be set in the Main Menu's Settings. If "Display Calibration Visuals" is enabled under Tracking and IK, the calibration mirror will also reflect these, showing which tracking points the trackers will track when calibration is done.
It can be enabled via the [[Special:MyLanguage/Action Menu|Action Menu]] or the [[Special:MyLanguage/Main Menu|Main Menu]]'s [[Special:MyLanguage/Settings|Settings]] page, but there are no configuration options for the calibration mirror.
The mirror prefab allows for selection of which layers are to be shown in the reflection. Therefore, it is common that worlds have set up multiple different mirrors to toggle between. Which is why it usually breaks down to 3 options: high quality, low quality and transparent mirror. Some worlds offer even more specialized setups beyond these.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="High_quality"></span>
=== High quality ===
=== 高畫質 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
高畫質鏡子會如同現實中的鏡子一般,從鏡子的視角完整反射周圍的世界與角色。
A high quality mirror acts as a mirror would in real life, reflecting the world and avatars around it from the perspective of the mirror.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Low_quality"></span>
=== Low quality ===
=== 低畫質 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
低畫質鏡子通常會以較低解析度反射周圍的角色,並以 Skybox 取代,阻止反射其世界環境樣貌。
A low quality mirror usually mirrors the avatars around it at a lower resolution and replaces the reflection of the world with the skybox.
A transparent mirror usually reflects the avatars around it while acting like a window, showing what appears behind the mirror, and also having a faint reflection of world from the mirror's perspective. It requires a special set up, which is also available through transparent mirror prefabs from the community.
Every object reflected in a mirror has to be rendered again, separately from what the user sees in the playable world. A mirror reflecting the whole world will double the performance cost of rendering the world. Occlusion culling does not work in mirror reflections, so a mirror facing a wall will still try to render everything behind the wall too.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
創作者可以透過多種方式降低鏡子的效能消耗,例如:
Creators can reduce the performance cost for mirrors in many ways, such as:
* 預設停用所有鏡子。只有在用戶按下按鈕,或實際靠近鏡子時才啟用。
* Disabling all mirrors by default. Only enable a mirror when the user pushes a button, or physically approaches them.
* Disabling mirrors when a user leaves the area. This will remove the rendering cost of a mirror when a player isn't using it. Users will often not do this themselves, so use a script to do it for them.
* 考量鏡子的擺放位置。朝向世界外側的鏡子,相較於朝向世界中心的鏡子,需要渲染的內容通常更少。
* Considering the placement of mirrors. A mirror facing away from the center of the world will have to render less than one facing inward.
* Changing the [[Special:MyLanguage/Layers|Layers]] a mirror reflects. A mirror only renders objects on the defined layers. For example, if you have a large outdoor world with a house in the middle, you could set the outdoor environment objects to the environment layer, and then disable the environment layer on the mirrors inside the house. This will stop the mirrors from trying to render the environment that they can't see.
當用戶要使用到世界中的鏡子時,通常也可以啟用或切換不同選項來節省效能,例如:
When interacting with a Mirror in a world, users will be able to enable or toggle different options to save on performance, such as:
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
* 同時只使用一面鏡子。
* Using only one mirror at a time.
* 若有提供,可選擇鏡子的低畫質模式。
* Choosing a lower quality option for a mirror, if available.
* 或者以個人鏡子來取代使用世界中的鏡子。
* Alternatively, substituting a world's mirror for your Personal Mirror.
The [[Special:MyLanguage/VRChat SDK|VRChat SDK]] contains a prefab for a ready-to-use mirror that can be dragged into a scene. This prefab is found at the following path: