7 Months Ago
TerrainMaterial resource with custom compiler which generates 2 packed vtex_c from 5 PBR source images https://files.facepunch.com/matt/1b1611b1/FvEbxe3xoQ.png [pick] DragAssetData.Parse: Resolve local assets first before trying to package ident Don't force Terrain creation through GameObject menu, don't hide terrain asset generation in here, make it so you can add a Terrain component Add TerrainMaterial AssetPreview - we'll use this for the editor ux too Replace horrible TerrainData/TerrainDataFile combo with TerrainStorage GameResource Stub TerrainStorage ResourceEditor Remove special terrain save logic from SceneEditorSession, use scene.saved editor event Terrain component editor supports creating or linking TerrainStorage if none is attached https://files.facepunch.com/matt/1b1611b1/PiMEhkVZd8.png Terrain component editor split settings into its own tab, add filter properties https://files.facepunch.com/matt/1b1611b1/obbHlfw3m8.png TerrainLayerList -> TerrainMaterialList - much simpler, use the TerrainMaterial's AssetPreview thumb DragDrop TerrainMaterial into TerrainMaterialList TerrainMaterials GPU buffer, shader uses BCR/NHO textures with 2 channel normal, adding height and AO parameters PreviewTerrainMaterial: Add nho texture, make previews way bigger https://files.facepunch.com/matt/1b1611b1/6eH6XTWtsI.png [pick] Material API specular obeys S_SPECULAR same as Valve's PS_FinalCombinerDoLighting (you can turn it off) Disable specular on terrain https://files.facepunch.com/matt/1b1611b1/sbox-dev_SWZ86cs1iM.png https://files.facepunch.com/matt/1b1611b1/sbox-dev_hhcEQ6Tnhp.png TerrainMaterial add metalness TerrainDropObject