Jump to content

Removing extraneous components


gewl
 Share

Recommended Posts

Hey, I know this has been mentioned a few times, but I couldn't find recent conversation about it and wanted to check.

I use Gaia for terrain editing, and do not have any need for a lot of the other features—especially the runtime features—that are bundled with it. The further I get into my project, the more these features' presences in my work migrate from "things that I don't need and can't get rid of" to "actual obstacles that permanently live in my project"—in the past few days I've had to deal with Gaia runtime components insistently grabbing cross-scene references to lights/terrain/cameras, adding invisible StaticLightingSky components to scenes, and repopulating its own components in the hierarchy. I know that there's some PEBKAC going on here, but it's still frustrating that I'm managing this vector for frustration and instability given that I have zero desire to use or own these runtime features that are coupled to the design-time features I actually want. I'm sure that these features are well-implemented, I'm sure they're useful for a lot of Gaia's users, I don't at all presume that my experience is a universal one, but it makes me personally less inclined to build around Gaia moving forward.

Is modularizing/reducing coupling between these different functionalities something that's actively being targeted by PW? Is there any sort of a roadmap available regarding this stuff?

Thanks!

Link to comment
Share on other sites

10 hours ago, gewl said:

Hey, I know this has been mentioned a few times, but I couldn't find recent conversation about it and wanted to check.

I use Gaia for terrain editing, and do not have any need for a lot of the other features—especially the runtime features—that are bundled with it. The further I get into my project, the more these features' presences in my work migrate from "things that I don't need and can't get rid of" to "actual obstacles that permanently live in my project"—in the past few days I've had to deal with Gaia runtime components insistently grabbing cross-scene references to lights/terrain/cameras, adding invisible StaticLightingSky components to scenes, and repopulating its own components in the hierarchy. I know that there's some PEBKAC going on here, but it's still frustrating that I'm managing this vector for frustration and instability given that I have zero desire to use or own these runtime features that are coupled to the design-time features I actually want. I'm sure that these features are well-implemented, I'm sure they're useful for a lot of Gaia's users, I don't at all presume that my experience is a universal one, but it makes me personally less inclined to build around Gaia moving forward.

Is modularizing/reducing coupling between these different functionalities something that's actively being targeted by PW? Is there any sort of a roadmap available regarding this stuff?

Thanks!

Yes, this is possible to use Gaia for just world creation. 
1. I would create a Gaia Scripts only package: 
image.png

This would be the simplest approach. 
Additionally you could set the Runtime to None for the systems you do not want. 
 

Link to comment
Share on other sites

12 hours ago, Bryan said:

Yes, this is possible to use Gaia for just world creation. 
1. I would create a Gaia Scripts only package: 
image.png

This would be the simplest approach. 
Additionally you could set the Runtime to None for the systems you do not want. 
 

 

Setting Runtime to None for every system did not work for me—even with those settings, Gaia Global would insistently grab cross-scene references for cameras and lights, and would not teardown the StaticLightingSky component it'd added to the scene when Gaia had instantiated the runtime utils with default settings. This may have been with an out-of-date Gaia version, though.

I just exported a scripts-only package, backed up the package out-of-project, deleted Gaia from my project, imported the scripts-only package, installed Gaia, and the very first thing Gaia did was add a Gaia Runtime object to my scene which was initialized to use Gaia for Lighting and Water, which grabbed cross-scene references and added an undesired and hidden StaticLightingSky component to the scene it was added to.

Did I install it incorrectly?

If I'm not supposed to "install Gaia" from the PW menu to avoid including any of these runtime features, is there an easy way for me to use the design-time terrain features (basically everything that would go under "Gaia Tools" in the hierarchy) without having any of the runtime features included in my project whatsoever?

Link to comment
Share on other sites

1 hour ago, gewl said:

 

Setting Runtime to None for every system did not work for me—even with those settings, Gaia Global would insistently grab cross-scene references for cameras and lights, and would not teardown the StaticLightingSky component it'd added to the scene when Gaia had instantiated the runtime utils with default settings. This may have been with an out-of-date Gaia version, though.

I just exported a scripts-only package, backed up the package out-of-project, deleted Gaia from my project, imported the scripts-only package, installed Gaia, and the very first thing Gaia did was add a Gaia Runtime object to my scene which was initialized to use Gaia for Lighting and Water, which grabbed cross-scene references and added an undesired and hidden StaticLightingSky component to the scene it was added to.

Did I install it incorrectly?

If I'm not supposed to "install Gaia" from the PW menu to avoid including any of these runtime features, is there an easy way for me to use the design-time terrain features (basically everything that would go under "Gaia Tools" in the hierarchy) without having any of the runtime features included in my project whatsoever?

You shouldnt have to add runtime at all, you should be able to go through the 2 step and go through the world creation process and remove Gaia. 

The only reason runtime should stay is if you are using any system that is required by the runtime. 
Water, lighting, etc. from Gaia. 

Additionally what you could do is make a Gaia only project and export the terrain data to a different project that doesnt have Gaia in it. 

 

Link to comment
Share on other sites

3 minutes ago, Bryan said:

You shouldnt have to add runtime at all, you should be able to go through the 2 step and go through the world creation process and remove Gaia. 

The only reason runtime should stay is if you are using any system that is required by the runtime. 
Water, lighting, etc. from Gaia. 

Additionally what you could do is make a Gaia only project and export the terrain data to a different project that doesnt have Gaia in it. 

 

Sorry, I'm confused. I didn't add runtime, Gaia did as part of its installation process. If I try to delete the "Gaia Runtime" object, it instantiates another one, which abducts my directional light from another scene and instantiates another StaticLightingSky component. Is there a way to permanently remove Gaia Runtime from my hierarchy?

Link to comment
Share on other sites

Ah I see. 

I think the best option for you would be to export the Terrain Data, Terrain Layers (if you decide to texture is - note that you will also need to export the textures). Then when you export dont include dependencies. 

You would want to import that into your main project that does not have Gaia in it and it will work, without having any Gaia systems in it. 

 

Link to comment
Share on other sites

1 hour ago, Bryan said:

Ah I see. 

I think the best option for you would be to export the Terrain Data, Terrain Layers (if you decide to texture is - note that you will also need to export the textures). Then when you export dont include dependencies. 

You would want to import that into your main project that does not have Gaia in it and it will work, without having any Gaia systems in it. 

 

I do want to continue using the design-time Gaia features related to terrain management in my main project, though—things like the session manager, biome spawning, terrain stamping, etc. I also intend to use some features related to terrain loading in the future; at the very least, design-time features like imposter generation, and hopefully runtime features like actual terrain loading/unloading if it is not tightly coupled to unrelated features like Gaia's VFX management and lighting mode.

Is it possible to separate Gaia's design-time features from its runtime features (without building my own Gaia patcher I have to reapply/refactor every Gaia update), or are they tightly coupled?

Link to comment
Share on other sites

When you do just step 2 create world it will create the Gaia Runtime in the Hierarchy. 
The only thing this adds is the terrain loader manager - note this doesnt add the rest of the systems. 

You do not have to do step 3 - create runtime and add the other systems. 
The Terrain loader does require the Gaia player however. 

You can set whatever you dont want to use to none: 
image.png

This all depends on what you are wanting to use. 
Some features are still required for runtime like the terrain loader. 
However, the other systems are not. 
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Tell a friend

    Love Canopy - Procedural Worlds? Tell a friend!
  • Need help?

    We work with some of the biggest brands in global gaming, automotive, technology, and government to create environments, games, simulations, and product launches for desktop, mobile, and VR.

    Our unique expertise and technology enable us to deliver solutions that look and run better at a fraction of the time and cost of a typical project.

    Check out some of our non-NDA work in the Gallery, and then Contact Us to accelerate your next project!

×
×
  • Create New...