solidDoWant / Planetbase-Framework

MIT License
8 stars 5 forks source link

Modding Progress With PlanetbaseFramework #16

Open erThewin opened 11 months ago

erThewin commented 11 months ago

So far I can:

Here are some highlighted features that might be wanted by modders (not players):

And some of my ideas:

screenshot_7_41_31_22 screenshot_4_39_27_10

erThewin commented 11 months ago

Some aspects that need to be underlined:

erThewin commented 11 months ago

For modders/3D modelers:

erThewin commented 11 months ago

Change or add shader to an object also doesn't work. Tried to change `Shader.Find("Transparent/Diffuse") and giving the "pink texture "result.

Found a quick solution for this one. Planetbase hides their internal shaders inside the mainData, maybe need another addition to the framework to be able to add new custom shaders..

I've tried to make OBJ files with parts, and tagged each part with "DomeFloor" "DomeBase" "DomeOpaque" "DomeTranslucent" and was hoping that the tag will automatically make my translucent part be translucent. But that's not happened, even if the texture we used for that part is a transparent image, or if we make the part transparent in 3D software (i.e. Blender, 3DS Max, etc).

Then I made another OBJ with all materials set to opaque, and set MTL files to "d 1.00" tagged the parts again, with this addition:

gameObject5.findNamedObject("sphere").tag = "DomeOpaque";
gameObject5.findNamedObject("sphere").GetComponent<Renderer>().material.shader = Shader.Find("Planetbase/BumpSpecularCube");

And it works. No matter it's tagged "DomeOpaque" or "DomeTranslucent," the shader just override it Screenshot: screenshot_1_02_54_08

erThewin commented 11 months ago

List of Planetbase Shaders (Unsorted):


Standard

Legacy Shaders/Transparent/VertexLit
Legacy Shaders/Transparent/Cutout/VertexLit
Legacy Shaders/Diffuse
Legacy Shaders/VertexLit
Legacy Shaders/Specular
Legacy Shaders/Bumped Specular

Sprites/Default

Particles/Additive
Particles/Additive (Soft)
Particles/Alpha Blended Premultiply
Particles/VertexLit Blended

Custom/LightningBoltShaderMeshNoGlow
Custom/LightningGlowShader
Custom/LightningBoltShaderMesh

Hidden/BlendOneOne
Hidden/MultipassHollywoodFlares
Hidden/BlitCopy
Hidden/NFAA
Hidden/FXAA II
Hidden/FXAA III (Console)
Hidden/FXAA Preset 2
Hidden/FXAA Preset 3
Hidden/SSAA
Hidden/DLAA
Hidden/CubeCopy
Hidden/CubeBlur
Hidden/CubeBlend
Hidden/SeparableBlurPlus
Hidden/Camera-DepthNormalTexture
Hidden/BrightPassFilterForBloom
Hidden/LensFlareCreate
Hidden/Vignetting
Hidden/Blend
Hidden/InternalSplashShadowReceiverSimple
Hidden/InternalSplashShadowReceiver
Hidden/InternalSplashShadowBlur
Hidden/InternalSplashShadowCaster
Hidden/InternalClear
Hidden/Internal-CombineDepthNormals
Hidden/Internal-PrePassCollectShadows
Hidden/InternalErrorShader
Hidden/Internal-DeferredShading
Hidden/Internal-Flare
Hidden/Internal-Halo
Hidden/Internal-GUITextureClip
Hidden/Internal-GUITextureClipText
Hidden/Internal-PrePassLighting
Hidden/Internal-GUITextureBlit
Hidden/Internal-GUITexture
Hidden/TerrainEngine/Splatmap/Standard-Base
Hidden/TerrainEngine/Splatmap/Standard-AddPass
Hidden/TerrainEngine/Splatmap/Diffuse-AddPass
Hidden/TerrainEngine/BillboardTree
Hidden/TerrainEngine/Details/BillboardWavingDoublePass
Hidden/TerrainEngine/Details/WavingDoublePass
Hidden/TerrainEngine/Details/Vertexlit

Nature/Terrain/Standard
Nature/Terrain/Diffuse

UI/Default Font
UI/Default

GUI/Text Shader

Unlit/Texture
Unlit/Transparent Cutout

FORGE3D/Planets/Terrestrial
FORGE3D/Planets/Ring
FORGE3D/Planets/Sandstorm
FORGE3D/Planets/Ice
FORGE3D/Planets/Gas
FORGE3D/Planets/Moon
FORGE3D/Planets/Atmosphere

Planetbase/ActionRadius
Planetbase/AlphaTestSpecular
Planetbase/Backdrops
Planetbase/BumpSpecularCube
Planetbase/BumpSpecularTint
Planetbase/ComponentTranslucent
Planetbase/ComponentUnderConstruction
Planetbase/DomeOpaque
Planetbase/DomeTranslucent
Planetbase/DomeTranslucentFlat
Planetbase/FloorDecals
Planetbase/GuiLine
Planetbase/Heads
Planetbase/Laser
Planetbase/LinkLines
Planetbase/Liquid
Planetbase/OpaqueColorEmission
Planetbase/OpaqueEmission
Planetbase/ParticleSunLit
Planetbase/ParticleSunLitAdditive
Planetbase/PlainColor
Planetbase/PowerGauge
Planetbase/SelectionCharacters
Planetbase/SelectionExtruded
Planetbase/SelectionStencil
Planetbase/Skydome
Planetbase/SkydomeClose
Planetbase/SkydomeCloseInterpolated
Planetbase/Sprite
Planetbase/TerrainDiffuse
Planetbase/TerrainDiffuseAddPass
Planetbase/TerrainSpecular
Planetbase/TerrainSpecularAddPass
Planetbase/VideoScreen
Planetbase/WaterTank```
solidDoWant commented 11 months ago
  • Ability to create new "ComponentType" based on what already existing "BaseModuleType"..

This has been added in https://github.com/solidDoWant/Planetbase-Framework/commit/8b209d51c63a1a50007d1fad92b5785df357e162

solidDoWant commented 11 months ago
  • Ability to add new "ResourceType" with custom OBJ model..

This has been added in https://github.com/solidDoWant/Planetbase-Framework/commit/9ef28c5e5987dfdb5f73994d197172127ae72115

erThewin commented 10 months ago

Issues:

NeoRider7 commented 5 months ago

Pics-001-v1 4 0-v01-400x225 Hi! How are you? From the description of the game update news 1.4.0 about Unity versions: "Planetbase was initially developed in 2015, using Unity 5, this update brings is up to date to Unity 2022.3, which is the latest stable. "

In light of this, has anything changed now in your Framework, "Mod Patcher 2", add-on "Planetbase Framework JPFarias compatibility layer", and mods? Maybe now there will be more possibilities to create mods (textures, items, buildings)?