Community:Blender World Creation Config

From VRChat Wiki
Revision as of 12:49, 16 August 2024 by Arie² (talk | contribs) (add biased notice)
IconOnly CL Portal.png
V · ECommunity-written content
The following was created by the community. It may contain material not directly endorsed by the VRChat team. To learn more, consider reading Contributing to the VRChat Wiki.
Scale icon orange.svg
V · EBiased or influenced content
This page was important enough to be written by an involved party, but it may be biased in-nature. Once this page has enough edits from varying parties, this notice may be removed.

Consider editing this page or learning about the following policies: Neutral point of view, Conflict of interest.

Showcased here is a highly refined Blender config to aid World creation in all its facets. It features WASD movement (like the one in Unity), an adjustable power of 2 snap-grid (Similar to ProGrids/ProBuilder), on-point layout tabs and much more. Continuously improved since 2019, it can be found on github since 2024: https://github.com/Maebbie/BlenderWASD

BlenderWASD in action.

The goal of BlenderWASD is to allow creators to easily make complete Worlds within Blender, needing few further touch-ups using Unity or other engines. To accomplish this, BlenderWASD retains Blender's great modelling toolset, but adjusts it in key areas to make it easier to navigate as you will see outlined below.

WASD-Movement

World Creation often means you are creating large environments. The default movement within Blender is only good for singular models and becomes distracting to the creation process when engaging in environments with many objects. BlenderWASD brings viewport movement the way it is done in every modern game-engine to Blender. Meaning while holding Right-Click you will move with WASD and look around using your Mouse. Functions previously on Right-Mouse are moved to Middle-Mouse press.

BlenderWASD - Picture 2.jpg

Should you prefer to make each object separately and import it into Unity 1 by 1 to place, then this movement can be turned off, by not importing the Keybinds provided. See Setup instructions below.

.Blend Blender Layout

The default Blender Layout is overhauled to condense it to what is essential for World Creation. Elements that exist across multiple tabs remain in their same place for their respective tabs.

It features the following Tabs:

BlenderWASD - Picture 3.jpg

Layout

BlenderWASD - Picture 4.jpg

As the default editing window this is used for most of the 3D work, offering a 3D viewport frame in its center. On its bottom left is a small UV window to quickly glance at for sanity checks. On the top right is a second 3D viewport window, whose view is synched across all other tabs, which can be used to record timelapses or just serve as a secondary perspective for your Worlds.

UV Edit

BlenderWASD - Picture 5.jpg

A modified UV editing window to bring it in line with the general Layout of this config. It is a 1:1 vertical split of UVS and the 3D viewport.

Material Edit

BlenderWASD - Picture 6.jpg

A modified "Shading" window with a horizontal split of the 3D viewport and shader graphs. It initially launches you into the World shader configuration aka. the Skybox you see in Blender. BlenderWASD has a custom sky gradient shader setup, where the color can be adjusted or set to Day,Night or something inbetween.

Dynamic Day and Night Skybox options allow for better prototyping.

When Switching to the Object shader the shader on currently selected Objects can be adjusted.

BlenderWASD - Picture 8.jpg

By default a grid texture by Toykitty is available in different colored materials. These are set to tile automatically, but you will need to create custom UVs and materials, before exporting your projects to Unity.

BlenderWASD - Picture 9.jpg

GeoNode Edit

Same in design as the Material Edit tab, but for Geometry Nodes, a powerful tool for dynamically creating and enhancing models using nodes.

Animation

BlenderWASD - Picture 10.jpg

Occasionally used to create physics simulations, e.g for cloth, that are later turned into a static model.

Preview

BlenderWASD - Picture 11.jpg

This tab cuts out adjacent elements to expand the 3d viewport, giving you the ability to get a better feel for your scene. FOV is set to 90°, which is the default choice for many.

PreviewVR

BlenderWASD - Picture 12.jpg

Similar to the Preview Tab, however the FOV is set very low, in order to replicate how it would feel in VR while cropped in to a screen. This allows to approximate how a project would feel in VR, without actually needing to put on a VR headset. FOV is fairly accurate when viewed 1 meter from a regular monitor.

BlenderWASD - Picture 13.jpg

Power of 2 Grid

Each dot represents a snap point on a 1 meter absolute grid

A power of 2 Grid helps to create a coherent world layout. This workflow means you will always snap your edits on a absolute grid. This Grid starts out at 1 meter increments from x,y,z 0,0,0, however by pressing + or - you are doubling or halving its increments respectively. Meaning pressing "-" twice would turn your 1 meter grid to a 0.25 meter grid. I behaves similar to ProGrids in Unity.

On the top right is a panel showing your current grid increment.

BlenderWASD - Picture 15.jpg

This Grid can be turned off, by simply turning off snapping or changing snapping away from "Snap to Increment"

Setup instructions

  • Download the most recent version of BlenderWASD here: https://github.com/Maebbie/BlenderWASD/releases
  • Throw everything into the same folder,
  • Start the BlenderWASD_By_Maebbie.blend file. This is the Blender Layout outlined above.
  • Import the keybinds from BlenderWASDKeybinds_By_Maebbie.blend.py via Edit -> Preferences -> Keymap -> Import -> Select the Keybinds imported on the center top. This is the WASD-Movement outlined above.
  • Put the gridoverlay.py in C:\Users(your username)\AppData\Roaming\Blender Foundation\Blender\(Blender Version)\scripts\startup . This will add a Power of 2 Grid and the respective panel.