Parallax obb: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LanguageBar}}
{{this is a|brush entity|internal=1|name=parallax_obb|type=e3|game=Strata Source|game1=Hunt Down the Freeman|game2=Mapbase|notext=1}}


{{Langsp}}
{{Entity|parallax_obb|type=e2|game=Portal 2: Community Edition|game1=Momentum Mod|game2=Mapbase}}


== Overview ==
== Overview ==
This brush entity defines the boundaries of [[Parallax Corrected Cubemaps]], which are {{ent|env_cubemap}}s that move with the camera, giving a slightly more accurate reflection on brushes. The [[Cubemap]] Bounds keyvalue on the desired cubemap must be set to this entity's <code>[[targetname]]</code> in order to function as intended. The recommended texture for this brush entity is the <code>[[Tool textures|tools\toolstrigger]]</code> texture.
This brush entity defines the boundaries of [[Parallax Corrected Cubemaps]], which are {{ent|env_cubemap}}s that move with the camera, giving a slightly more accurate reflection on brushes. This entity basically tells the game how to display and warp the reflections by setting the dimensions of the effect to the dimensions of this entity. The [[Cubemap]] Bounds keyvalue on the desired cubemap must be set to this entity's <code>[[targetname]]</code> in order to function as intended. The recommended texture for this brush entity is the <code>[[Tool textures|tools\toolstrigger]]</code> texture, although any [[%compiletrigger|trigger]] texture will work. {{Todo|I have a custom tooltexture made specifically for parallax obb that had parallax instead of trigger on it. I will provide download link somewhere here
- [[User:Equalizer5118|Equalizer5118, an idiot who cant spel]] ([[User talk:Equalizer5118|talk]]) 22:08, 21 August 2023 (PDT)}}


== Creation ==
== Creation ==
{{ModernNote|This tutorial uses pictures and methods from a game running on {{strata|3.1}}, however it should be a similar method for {{mapbase|3.1}} games. {{ModernConfirm|It is the same for Mapbase}}}}
{{Main|Parallax Corrected Cubemaps/Creation|Parallaxed Cubemap Creation}}
Creating a parallax cubemap is fairly easy, and can be done with relative swiftness. To start, create a room with 1 or more reflective surfaces. Floors work very well with parallaxed cubemaps.
 
[[File:Parallax obb showcase2.png|350px]]
 
Next, place an {{ent|env_cubemap}} in the ''exact'' center of the room: Halfway up, equadistant between each wall. You can set the resolution to anything you want, but higher values are recommended for reflective surfaces.
 
[[File:Parallax obb showcase3.png|350px]]
 
After this, create a brush the size of the room and tie it to a <code>parallax_obb</code>. Name it something similar to "parallax_room1". Finally, go into the <code>env_cubemap</code>'s properties and, in the "Cubemap bounds" keyvalue, specify the targetname that you gave your <code>parallax_obb</code>.
 
[[File:Parallax obb showcase4.png|350px]]
 
Now, compile and load up the map in your game. Open the [[Developer Console]] and build the cubemaps using the {{ent|buildcubemaps}} command. The game should flash an image on screen and then reload the map. After this, you will see that your surfaces now reflect your room somewhat more accurately compared to a non-parallaxed cubemap! <br/>
Now, you may notice that when viewed from certain angles, objects may appear to be 2D, similar to what is shown here:
 
[[File:Parallax_obb_showcase1.png|350px]]
 
Notice how the reflection in the tile is a flat image and not 3D. This is because cubemaps are actually similar to skybox textures, being that they are multiple orientations of the same place, combined to give the illusion of one continuous space. Cubemaps cannot accurately give 3D images from all angles. Props can be shown flat and/or smeared.<br/>
<!-- Insert image here lol -->
<!-- This is why less reflective surfaces use cubemaps, while more reflective surfaces like water use a real-time reflective shader. However, while there is a limit of 1 high-quality real-time reflection at any time in the [[PVS]], there is no limit on Cubemaps, because they are a lot more inexpensive to render.-->Keep this in mind when developing your map, and if the smearing is too much of an issue, you can always lower the cubemap resolution to 128x128 or 64x64 to make this less noticable.


== KeyValues ==
== KeyValues ==
Line 38: Line 19:
* [[Parallax Corrected Cubemaps]]
* [[Parallax Corrected Cubemaps]]
* [[Cubemaps]]
* [[Cubemaps]]
[[Category:Cubemaps]]

Latest revision as of 19:00, 14 May 2025

English (en)Translate (Translate)

parallax_obb is an internal brush entity available in Strata Source Strata Source, Hunt Down the Freeman Hunt Down the Freeman, and Mapbase Mapbase.


Overview

This brush entity defines the boundaries of Parallax Corrected Cubemaps, which are env_cubemaps that move with the camera, giving a slightly more accurate reflection on brushes. This entity basically tells the game how to display and warp the reflections by setting the dimensions of the effect to the dimensions of this entity. The Cubemap Bounds keyvalue on the desired cubemap must be set to this entity's targetname in order to function as intended. The recommended texture for this brush entity is the tools\toolstrigger texture, although any trigger texture will work.

Todo: I have a custom tooltexture made specifically for parallax obb that had parallax instead of trigger on it. I will provide download link somewhere here - Equalizer5118, an idiot who cant spel (talk) 22:08, 21 August 2023 (PDT)

Creation

KeyValues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Flags

This entity has no flags

See also