This demo shows how to scale the 3D viewport rendering without
affecting 2D elements such as the HUD. It also demonstrates how to
toggle filtering on a viewport by using TextureRect to display the
ViewportTexture delivered by the Viewport node.
- Use 4× MSAA for a better visual appearance.
- Use "3D Without Effects" framebuffer allocation when possible
for better performance.
- Disable Glow in the 3D Kinematic Character demo for better
performance. Increase the DirectionalLight strength to compensate.
- Use a non-linear attenuation for the OmniLight in the
Window Management demo (and increase its range to compensate).
This makes demos render correctly on hiDPI displays,
while also demonstrating how to handle multiple resolutions.
The 3D in 2D demo now uses "3D No-Effects" for the 3D viewport,
which is faster to render. Thanks to this, 4× MSAA is now enabled
for a better result.
The background loading demo now uses mipmaps for better-looking images.
The material testers demo now samples mouse input in a
resolution-independent manner when panning.
Default clear colors were also changed in some projects for visual
consistency with the project's theme.
Answering PR reviews
Removeing class_name
_get_split_state documentation
Mentioning Voronoi split screen in README
Fixing comments
Use the same script for both players
The input map is configured to work with AZERTY and QWERTY keyboards
Use spaces for comments alignment + code style
Fix empty line and incorrect comment
Add arrow keys to control player 2
Removing most static typing as suggested for demo projects
Removing broken split origin feature
Removing the floor texture to avoid copyright issues
Changing game icon
Make Walls.gd a tool script + randomize
Fixing style
Handle joysticks for player movement
* Made the whole block a separated scene to demonstrate it can work across multiple instances.
* Dropped the Area.input_event and did everything manually with raycasting.
* Made quad_mesh_size automatically pick the quad size, avoiding the extra setup.
* Changed from PlaneMesh to QuadMesh. Now everyting can start with 0 rotation.
* The function will keep handling input when the mouse is outside of the area to avoid orphan clicks, but stop when the click is released.
* Changed some variable and function names to make sense with the code changes.
* Added an extra function to deal with billboard mode. But is not perfect, specially with scaling and Y-billboard + camera tilting.
A vertical FOV of 74 degrees is roughly equivalent to a 90 degree
horizontal FOV on a 4:3 display (~106.26 degrees on 16:9), which
is the typical default FOV used in PC games.
This change is needed in order to make use of the new introduced
set_clear_mode() function (I think the choosen enum value is ok since
its needed only once).
Updated in the following demos:
- 2D_in_3D
- 3D_in_2D
- screen_capture
The scripts were streamlined using more or less the following conventions:
- space after a comma in lists of arguments
- space around weak operators (+, -), no space around strong operators (*, /)
- space after a comment start (#)
- removed trailing spaces or tabs, apart from those that delimit the function indentation level (those could be removed too but since they are added automatically by the editor when typing code, keeping them for now)
- function blocks separate by two newlines
The scene files were resaved with the (current) 2.0 format, and some scenes that were in XML format were converted to SCN, to be consistent across all demos.
-Added new screen resizing options, stretch_2d is removed, new much more flexible ones.
-Fixed bug in viewport (can create more instances in 3d-in-2d demo now)
-Can set android permissions and screen sizes manually in the export settings
-Changed export templates extension to .tpz (too many people unzipped the manually..)
-File dialog now ensures that the proper extension is used (will not allow to save without it)
-Fixed bug that made collision exceptions not work in 2D