Grimmstar You are the person who helped me understand how to work with layers in the composition of the world. I don’t speak English, but I hope you understand. My gratitude to you is the size of the Star Wars universe. People, if anyone has lessons on working with layers in the world composition system, I will be very grateful for every link to the lesson. The question is that I want to place different objects in a location in layers, from houses to empty cans. And I think I’m almost sure that layers will help me optimize the loading and unloading of resources. Author, thank you again for your very useful lesson.
Key Information: - Spaceship scale: Something less than 10 meters. - Star scale: x400 of the original sphere (400 meters in diameter). - Planet scale: 500 meters or so (yes, it's bigger than the star). - Starfield generator for background stars. - The yellow box in the World Composition view indicates Unreal's recommendation for max size for world composition. - 07:20 This video actually talks about world origin. - 08:45 World Composition layers. - 16:20 Lighting issue because of the use of directional light: well, can't we use a point light instead? - 19:40 Lighting channels. - 22:52 Sub-level parenting: wonders how this works: shifts offset or what? - (World Settings) Force no pre-computed lighting. - Warping distance bound (Dead Zone) due to 32bit precision: 1,048,576 aka. 10km. Now here is the important part: disable world origin rebasing when editing, and enable it for gameplay (this also avoids the issue with saving maps with random origin locations and thus random coordinates for objects). It's great you mentioned warp point - I encountered same thing with my car when driving too far on a 2D map. One other issue I had with world composition with rebasing is some location-dependent ticking actors gets moved. I like how quiet it is in the background when he talks - feels like he's actually in the space doing this tutorial.
I’m not experienced but I think you just have to make a point you can select, increase camera fov by a lot and make a warp sequence like dash lines and the engine increasing its plume, once you move to the point at accelerated speed resume player control and lower speed
You did a fantastic job on this video. Everything was well done - content, level of detail, video, audio (you have a great voice for narration), and quality of instruction Thank you very much. Let's hope others follow your approach!
This was insanely useful. I've been looking for something like this for the past week and then it just appeared in my TH-cam recommended videos! Very clearly explained and detailed tutorial, thank you so much. Looking forward to seeing more.
Great video! For the lighting of the planets i would make a custom material that affects only a certain LOD of the planet with an emissive texture facing the star, once you get close to the planet it would switch to the dynamic light
Unf, thank you so much! I've been breaking my head over this for a couple days googling this and that. Lots of people suggest the method GRIMMSTAR also showcases in this video, with the rotating directional light, but it leads to obvious problems as also showcased by the host. The second solution is neat, but with only three lighting channels, you can still run into problems with certain planetary configurations. Your idea of using LOD-based Materials is -- _chef's kiss_ -- very good. I think I might hit my eureka moment thanks to your lead.
Thank you for posting this. I've been playing "No Man's Sky" and have been wondering if there was a way to make a game like in in UE. Your video shed's some light on that.
Really great tutorial! Am not working on a space game, but have been using world composition and getting messed around by origin rebasing in editor, so this helped immensely. Thanks!
Thank you so much for this tutorial! I just have a few questions, though. Let's say if I want the player to be able to land on one of those planets, how would I transition to the "on planet level" from space, and how do I return to space? Would I need 2 different "persistent" levels? If I used a loading screen, could I still build another entire world of itself for visiting different places on a particular planet? I'm sorry, I wish I could explain it better...
This was so well done and perfectly informative. I would love to see a full tutorial for setting up ships like the one you used and more. Maybe a udemy course?
Thanks for sharing! It's always nice to see more niche topics like world composition being covered in real scenarios. I do think the lightning channel workaround doesn't hold up. there are only 3 channels available as you mention. Why not simply add fake lightning in the material of planets as it's easy to do directional lighting that way and share the sun's location/direction from a shared material parameter collection. less manual setup and works with unlimited amount of objects/planets. Especially for longer distance viewing you won't need the accuracy from the "real light". For the planets you probably never need to use the real sunlight, and can just keep the fake on. while for the smaller objects you won't see them until you approach the warp area anyway so they may always use the real light. Cheers!
Hey Tom, thanks for the feedback and advice. We are toying with using a dot node with emmissives to fake lighting. Is this something you're referring to? Otherwise, we had the idea of creating a simple system using very large spotlights, all on a single channel, to permanently light the planets. Any other ideas are welcome as well.
@@Grimmstar Yep was referring to using emissive channel to fake the lights. I think spot lights will yield bad shadow quality and generally just a lot more expensive.
For the emissive channel, you may check this tutorial, that is about faking the planet lighting (you just should ignore their alpha/opacity part, because you actually have stars, that would shine thorugh the planets dark side): th-cam.com/video/o_3Kv16GIoA/w-d-xo.html
Hey man! This helps a lot but I am wondering how to make a star generator? I am trying to do the same thing as you and use them as a way for the player to know their direction of movement.
Hi there! I believe that in the video they are using this Marketplace asset for the starfield: www.unrealengine.com/marketplace/en-US/product/data-driven-starfield
I started searching for tutorials related to space travel! Yours is very helpful and made me realize Unreal's limits and solutions around it! ^^ One of my goals to make is a small procedural solar system that's inspired of No Man's Sky since I got to play it. c: For fun and experimentation. Amazing tutorial!
Hey there. I can't overstate how valuable this - and every other - tutorial is! Hope you are all doing fine, and still developing the game and probably some more brilliant tutorials tutorials. One thing I came across though. How do you make planets orbit the star? Normally, it's a very simple task to do in a smaller level. But how do you approach it with world composition? You can't move levels at runtime, can you?
Very interesting and brings into light a few things. I wasn't sure if there was a built in rendering distance/limit. I had a feeling with tests before where twitching would happen after a certain range. But to beable to move the origin with the camera could bring new things into possibility. hmmm
this guy better never get a dislike on his video cause y'all all know damn well we need this type of video in our lives if we gonna make an open world video game, especially a sci-Fi type
Nice overall tutorial. I would suggest using materials instead of lights to determine the lighting of the planets. Why? Because that way it will never matter where you place a planet. The theory is simple, you set a MPC with a light source vector (which will be set as the world location of the star in the system). You create an emissive material that uses this vector to light the planet. Additionally you can set the MPC to contain a color to change the way the emissive colors the material based on the light of the star. Performance wise, lighting channel vs emissive material should probably be night and day (no pun intended). The other improvement is that you will no longer need to adjust anything manually, or worry about it lighting up or not. Whenever the item is streamed in, the emissive material will cause it to be lit.
We moved to a system similar to what you explained shortly after the video was released. Our planet materials are now emissive. Another option is to use emissive materials for planet LODs greater than LOD 0 and then swap in the lit material when the planet is up close. This can be useful for things like cinematics where you may need an actual shadow on the planetary body.
this really helped me on my game project i'm trying to make...I think you mentioned that if anyone has a question about what you did instead of using physics thrusters for thrust , pitch, roll and yaw. Can you tell me what you did? I don't mean a tutorial I mean maybe just give me a quick rundown and then i'll figure it out. But knowing what direction you went would really help out thanks!
Great video and pretty much the only one covering this. I rebuild a test map similar to yours. Once I move the character with "Set actor location" and a timeline. The world origin shifts with the charater until it hits that orange boundry, after that it crashes very similar to how you did in your video. Any clue why this happens? Were you successfull to use this system with the latest 4.22 engine version? Thanks in advance. Edit: The problem is the constantly uptaded location of the destination, because of world shifting. how Do you do your warp? No need to go into detail, just a rough example would be great!
Hey ! This tutorial is amazing since it demystifies a lot from games like eve online or elite : dangerous. Do you feel like adding a part two to it ? The mesh flickering glitch along with the 3 light channels problems makes the whole thing a bit unpractical. Thanks for showing your work though !
How does this level persistence and the ability to see planets from very far work with stargenerator/starsphere? Is the sphere that moves with the player onto which stars are projected or displayed just bigger than anything and all the levels are inside it or is there a trick to make it normal size but somehow objects from far distances are displayed in "front of" the sky sphere?
We want to focus on lesser talked about things within the engine. You should be able to find resources for ship movement, as that's what we did to start off with. There is also a flying starter pack within Unreal you can use as well :)
Thanks , I’ve learnt a lot from this video. :) . This method looks great for loading in additional asserts , but how do you load a complete new system and it still being seamless ?
in 5.3 "world composition is deprecated, consider converting to world partition". 5.3 doesn't like this method and makes me curious if they made world comp semi obsolete in some way with changes to partitioning. sigh...
Alex, Thank you for this tutorial! Newb question... Is it possible to create a celestial body (planet, asteroid, planetoid) that you can land on and play on without any other loading screens or having to create a cinematic and then load a different environment?
It absolutely is possible. Procedural planet generation is a hot topic these days, thanks to games like Kerbal Space Program, Star Citizen, and Elite: Dangerous. There are various methods for accomplishing this but it is quite involved.
Our current warp system is actually in the process of being reworked. We may actually use this as an opportunity to share our process. Thanks for the idea!
I loved this tutorial! i just have a question: if all the celestial bodies for some reason are placed at incredibly large distances (just like your video) but vertically from one another, how will it show on the other window where the layers are showed? Can you really make world composition vertically?
You could do it, but the mini map wouldn't be very helpful. As far as I know, the map generated can only be oriented for viewing horizontal orthographical views. Everything else should work fine though.
Awesome stuff. Can we get a tutorial on adding more lights though, cos we can't really do much with two planets. Would it be too intensive to have a point light aiming at each planet, like you have with the player? And can I ask, is there any way to scale stuff up on loading, like so, you could have a planet with a base on it that's tiny from space but large compared to the ship once you get close, or does it all have to be scaled the same? Anyway, thanks a lot. That's really great stuff.
Question : How it works to fligh in Z up or down... Rebase is ok, but in Z after 20 km the ship starts to shake. Is it possible that the Rebase only work in X ans Y ?
Here's a wild game design question, if the celestial bodies are present in the 3D space, how will you prevent a player from flying into it? Invisible walls? A star I imagine, could lower the player's health, but what about some random planet or a gas giant?
Depends on the celestial body. For our game, the spacecraft being used are not designed to withstand atmospheric flight. If you get too close to a planet with an atmosphere, you'll be issued a warning before eventually losing control of the spacecraft and dying. We're looking for ways to allow travel over moon surfaces, but it's lower on our last for gameplay mechanics.
Sorry for my English. Please tell me, how did you manage this ship? I've been suffering for a month and I can't do it, I don't have the strength anymore. Help please
Hello, I am currently working on a similar Game for my school projekt. I have problems with the SkyBox. Could you make a video about your star generator? I have the felling the normal cubemap skybox workflow isn´t optimal for Spacegames. hope you have time for my problem and I wish you lot of fun an sucsses with your Projekt.
Hi. Great video! A few hours a googling have turned up, that with origin shifting enabled, the maximum World Size can be increased to 210km in multiplayer (assuming you get it to work, a recent post implied it's broken now). Anyway, 210km is still way too small for a space game. Have you just scaled everything to tiny dimension?
We've done a number of things to help provide a proper sense of scale. First, we don't need to do full-size planets. No game does that and it still feels pretty good. KSP, Elite, and Star Citizen all use smaller scale planets. We don't plan on having planetary landings, so getting the scale proper isn't a super high priority. Second, we did actually scale down the player ship. We won't be going to FPS size in our game, so the player ship is actually scaled down to 1/5 what it would be in actual size. This gives us some head room for scaling objects. Third, we dynamically scale objects like planetary bodies. While further away from the planet, the planet will scale down and take up less space. When the player approaches a planet, the planet size will scale up to an enormous size. This gives us some additional room to utilize when working with World Composition in Unreal Engine.
We wound up making the planet materials emissive rather than using pure albedo for color. We set up a dot node in the material and made its output direction linkable to a light via blueprints. We then set up a light in the level, turned it off, and used that to get an accurate direction for the shadowed area. Then we had to play around and find the right mix for the Power and Multiply nodes to get the shadowed areas transitioning in a natural/realistic way. It came out quite well, actually.
Hey Alex! How would this work if you have 2 planets that are on top of each other? similar XY, but offset on the Z-axis, meaning their levels would overlap, is there any way to make world composition work on a 3D space? Or would it just load both levels at the same time with no way around it
World composition should work just fine in 3D space. Whether it be the X, Y, or Z axis, the distance measurement should all the be the same. I don't believe there should be any problem with what you're proposing.
I also encountered this problem. By default (at least in UE 4.22), World Origin Rebasing works only in XY plane (it can be checked with the GetWorldOriginLocation function). There is bRebaseOriginIn3DSpace config variable in the UWorldComposition class. You can set this variable to True by adding the following two lines to the DefaultEngine.ini file located in the Config folder of your project: [/Script/Engine.WorldComposition] bRebaseOriginIn3DSpace=True I'm not sure if this is the proper way to set this config variable, but it seems to work.
@@Grimmstar I saw a discussion over at unreal forums that UE5 might support large coordinate system: forums.unrealengine.com/t/64-bit-coordinate-system/231743 . Really hope that ends up being true!
We've moved to changing the material for the planets to being an emissive material, using a dot product to mask the back end of the planet for the "shadow." This way, we can place as many planets as we want without issue. Just takes some dialing in of the emissive strengths to get it looking right.
wait, can we use this method to make something like No Mans Sky or Star Citizen? I'd want the player to be able to seamlessly fly from space, land on a planet and then walk around it, etc.
@@Grimmstar well the Welcome to the Future devs pulled it off, so challenge accepted. 😎 How well does world composition work with multiplayer in UE4, if at all? For example can two players be in different levels (on different planets) but still see the other levels streamed in the distance? I appreciate the help, btw.
i have a problem with the BP_Sun, i keep getting an error that says Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetPlayerCharacter_ReturnValue". Blueprint: BP_Star Function: Execute Ubergraph BP Star Graph: EventGraph Node: SetWorldRotation im new to unreal and coding in general, i have no idea what this means or how to fix it.
Hi! You can try replacing the "Get Player Character" with "Get Player Controller" and see if that helps. We've had to make a couple of small changes since 4.22, but I don't have access to our project right now, unfortunately. I will try and give things a second look when I get a chance and update you further. I hope this works in the meantime!
Hey OP, call Unreal right now; no, seriously... do it. Tell them you want a job AND that you want to a brand evangelist. You know what we want, and you know HOW to deliver. Thank you!
Right now, it's an enormous plane, using a two-sided material. You can use a vector to radial node on a simple noise map to give some variation of rings. Further work is required to get the opacities set right, but it's not too complicated.
No need! You can use the UE4 Material Editor and plug a simple colour into the Emissive channel. The standard ranges for each colour channel are 0-1, but if you push the values beyond 1, you'll get brighter and brighter results.
We actually haven't updated to 4.25 yet, so I can't fully comment on this at the current time. We're working on updating, but have a few kinks to work out before we can get there. The new atmospheric lighting system is definitely something we're interested in trying out though, so look out for an update regarding that!
@@Grimmstar was about to comment the same question. They made the skys movable in 4.25, but you can only have one at a time. Interested to see how that would be overcome.
Our first implementation used a timeline to translate between the player's current position and the position of the placed icon for the warp destination. You can try that in Unreal's blueprint system. We've since moved to C++ for our warp mechanic, with active checks for course correction to ensure proper destination at larger scales. We may do a video on this sometime down the road, so keep an eye out!
Grimmstar You are the person who helped me understand how to work with layers in the composition of the world. I don’t speak English, but I hope you understand. My gratitude to you is the size of the Star Wars universe. People, if anyone has lessons on working with layers in the world composition system, I will be very grateful for every link to the lesson. The question is that I want to place different objects in a location in layers, from houses to empty cans. And I think I’m almost sure that layers will help me optimize the loading and unloading of resources. Author, thank you again for your very useful lesson.
Key Information:
- Spaceship scale: Something less than 10 meters.
- Star scale: x400 of the original sphere (400 meters in diameter).
- Planet scale: 500 meters or so (yes, it's bigger than the star).
- Starfield generator for background stars.
- The yellow box in the World Composition view indicates Unreal's recommendation for max size for world composition.
- 07:20 This video actually talks about world origin.
- 08:45 World Composition layers.
- 16:20 Lighting issue because of the use of directional light: well, can't we use a point light instead?
- 19:40 Lighting channels.
- 22:52 Sub-level parenting: wonders how this works: shifts offset or what?
- (World Settings) Force no pre-computed lighting.
- Warping distance bound (Dead Zone) due to 32bit precision: 1,048,576 aka. 10km. Now here is the important part: disable world origin rebasing when editing, and enable it for gameplay (this also avoids the issue with saving maps with random origin locations and thus random coordinates for objects).
It's great you mentioned warp point - I encountered same thing with my car when driving too far on a 2D map.
One other issue I had with world composition with rebasing is some location-dependent ticking actors gets moved.
I like how quiet it is in the background when he talks - feels like he's actually in the space doing this tutorial.
Can you make a tutorial on creating the warp speed and the warp points?
ja PLS !!!! we waiting here 2 years xD but PLS make a tutorial No one can find tutorials of these!!! Please
I’m not experienced but I think you just have to make a point you can select, increase camera fov by a lot and make a warp sequence like dash lines and the engine increasing its plume, once you move to the point at accelerated speed resume player control and lower speed
you know, you have the most beautiful warp effect, it's just amazing!
Thank you for this! I shared this around (Twitter, Discord) where UE4-space-scifi people hang out :))
Thank you! We appreciate it! And we're happy to hear that people are finding this useful. We'll continue to put out more tutorials as time goes on.
You did a fantastic job on this video. Everything was well done - content, level of detail, video, audio (you have a great voice for narration), and quality of instruction Thank you very much. Let's hope others follow your approach!
This was insanely useful. I've been looking for something like this for the past week and then it just appeared in my TH-cam recommended videos! Very clearly explained and detailed tutorial, thank you so much. Looking forward to seeing more.
Great video!
For the lighting of the planets i would make a custom material that affects only a certain LOD of the planet with an emissive texture facing the star, once you get close to the planet it would switch to the dynamic light
Unf, thank you so much! I've been breaking my head over this for a couple days googling this and that. Lots of people suggest the method GRIMMSTAR also showcases in this video, with the rotating directional light, but it leads to obvious problems as also showcased by the host. The second solution is neat, but with only three lighting channels, you can still run into problems with certain planetary configurations.
Your idea of using LOD-based Materials is -- _chef's kiss_ -- very good. I think I might hit my eureka moment thanks to your lead.
Great tutorial. Packed with information, no fluff, 10/10!
Such a great tutorial. Just what I needed. Definitely deserves a follow. Thank you !
It should be illegal to have so few subscribers while having so quality content! Thank you I learned few tricks :)
Thank you for posting this. I've been playing "No Man's Sky" and have been wondering if there was a way to make a game like in in UE. Your video shed's some light on that.
Oh wow.. I didn't expect to find such an informative space game tutorial as this. Thanks you so much!
Thanks for posting this video and good luck on your game..! Looks fantastic!
thank god. a GOOD tutorial for space games with unreals engine.
Thanks! Glad we're able to help!
Really great tutorial! Am not working on a space game, but have been using world composition and getting messed around by origin rebasing in editor, so this helped immensely. Thanks!
Thank you so much for this tutorial! I just have a few questions, though. Let's say if I want the player to be able to land on one of those planets, how would I transition to the "on planet level" from space, and how do I return to space? Would I need 2 different "persistent" levels? If I used a loading screen, could I still build another entire world of itself for visiting different places on a particular planet? I'm sorry, I wish I could explain it better...
Thanks for taking the time to help and share this. Great stuff. Going to try follow along, new to unreal.
This was extremely useful for the world design on my sky-based indie game, thanks for this video. :)
nice i didnt watch as tutorial i just like space and video games and this was interesting i liked it
This was so well done and perfectly informative. I would love to see a full tutorial for setting up ships like the one you used and more. Maybe a udemy course?
great tutorial
I just stumbled on it
but its what I was looking for
Thanks for sharing! It's always nice to see more niche topics like world composition being covered in real scenarios.
I do think the lightning channel workaround doesn't hold up. there are only 3 channels available as you mention. Why not simply add fake lightning in the material of planets as it's easy to do directional lighting that way and share the sun's location/direction from a shared material parameter collection. less manual setup and works with unlimited amount of objects/planets. Especially for longer distance viewing you won't need the accuracy from the "real light".
For the planets you probably never need to use the real sunlight, and can just keep the fake on. while for the smaller objects you won't see them until you approach the warp area anyway so they may always use the real light.
Cheers!
Hey Tom, thanks for the feedback and advice. We are toying with using a dot node with emmissives to fake lighting. Is this something you're referring to?
Otherwise, we had the idea of creating a simple system using very large spotlights, all on a single channel, to permanently light the planets.
Any other ideas are welcome as well.
@@Grimmstar Yep was referring to using emissive channel to fake the lights. I think spot lights will yield bad shadow quality and generally just a lot more expensive.
Yeah, we were worried about shadow quality as well. We'll look in to trying out the emissive idea. Thanks!
THANK YOU!! Your suggestion solved my issues. Works perfectly, looks great, and isn't limited by lighting channels.
For the emissive channel, you may check this tutorial, that is about faking the planet lighting (you just should ignore their alpha/opacity part, because you actually have stars, that would shine thorugh the planets dark side): th-cam.com/video/o_3Kv16GIoA/w-d-xo.html
Hey man! This helps a lot but I am wondering how to make a star generator? I am trying to do the same thing as you and use them as a way for the player to know their direction of movement.
Hi there!
I believe that in the video they are using this Marketplace asset for the starfield: www.unrealengine.com/marketplace/en-US/product/data-driven-starfield
I started searching for tutorials related to space travel! Yours is very helpful and made me realize Unreal's limits and solutions around it! ^^
One of my goals to make is a small procedural solar system that's inspired of No Man's Sky since I got to play it. c: For fun and experimentation. Amazing tutorial!
This is awesome basic tutorial ,hope more tutorials .
i watched this video and thought you had like 50k or 100k subs so underrated
Thank you for this. It has been on my mind for two years. Couldn't figure out how to do it. Again, Thanks.
You're Great! Please show us how to control ship with mouse position!
You are the Best!!! thankssss, Thanks again!!, keep the hard and excelent job!!
Hey there. I can't overstate how valuable this - and every other - tutorial is! Hope you are all doing fine, and still developing the game and probably some more brilliant tutorials tutorials.
One thing I came across though. How do you make planets orbit the star? Normally, it's a very simple task to do in a smaller level. But how do you approach it with world composition? You can't move levels at runtime, can you?
Can't you just move the LevelBounds and all it contents?
@@dariuszscharsig568 honestly, I dunno. But it's not a problem in ue5 anymore, so
@@someonewithsomename Indeed. UE5 is a game changer.
Thanks for the nice tutorial on World Composition, its been tough finding a lot of good information on it.
Very interesting and brings into light a few things. I wasn't sure if there was a built in rendering distance/limit. I had a feeling with tests before where twitching would happen after a certain range. But to beable to move the origin with the camera could bring new things into possibility. hmmm
Thank you! This is very helpful for me. (:
Awesome tutorial, anyway we could get a tutorial on the data driven starfield?
Concise and clear, thanks for the help :D
thank you for this.
this guy better never get a dislike on his video cause y'all all know damn well we need this type of video in our lives if we gonna make an open world video game, especially a sci-Fi type
Thank you for this, I hope you can make this into a series
Very cool tut
Thank you ❤️ you're breathtaking
Nice overall tutorial.
I would suggest using materials instead of lights to determine the lighting of the planets.
Why? Because that way it will never matter where you place a planet.
The theory is simple, you set a MPC with a light source vector (which will be set as the world location of the star in the system). You create an emissive material that uses this vector to light the planet. Additionally you can set the MPC to contain a color to change the way the emissive colors the material based on the light of the star.
Performance wise, lighting channel vs emissive material should probably be night and day (no pun intended).
The other improvement is that you will no longer need to adjust anything manually, or worry about it lighting up or not. Whenever the item is streamed in, the emissive material will cause it to be lit.
We moved to a system similar to what you explained shortly after the video was released. Our planet materials are now emissive.
Another option is to use emissive materials for planet LODs greater than LOD 0 and then swap in the lit material when the planet is up close. This can be useful for things like cinematics where you may need an actual shadow on the planetary body.
World origin shifting doesn't work in multiplayer. What's your solution to that?
Awesome video! Thanks a lot!
this really helped me on my game project i'm trying to make...I think you mentioned that if anyone has a question about what you did instead of using physics thrusters for thrust , pitch, roll and yaw. Can you tell me what you did? I don't mean a tutorial I mean maybe just give me a quick rundown and then i'll figure it out. But knowing what direction you went would really help out thanks!
It would be good to see a tutorial on how you did the planet and or the starfield blueprints?
Dang nice video 👍
Damm awesome bro i was looking for offline space game that i could make .
Wow, this was reallly good video, I have to try it also, thank you a lot :))
I love u so much for this
Great video and pretty much the only one covering this. I rebuild a test map similar to yours. Once I move the character with "Set actor location" and a timeline. The world origin shifts with the charater until it hits that orange boundry, after that it crashes very similar to how you did in your video.
Any clue why this happens? Were you successfull to use this system with the latest 4.22 engine version?
Thanks in advance.
Edit: The problem is the constantly uptaded location of the destination, because of world shifting.
how Do you do your warp? No need to go into detail, just a rough example would be great!
Hey ! This tutorial is amazing since it demystifies a lot from games like eve online or elite : dangerous. Do you feel like adding a part two to it ? The mesh flickering glitch along with the 3 light channels problems makes the whole thing a bit unpractical. Thanks for showing your work though !
How does this level persistence and the ability to see planets from very far work with stargenerator/starsphere? Is the sphere that moves with the player onto which stars are projected or displayed just bigger than anything and all the levels are inside it or is there a trick to make it normal size but somehow objects from far distances are displayed in "front of" the sky sphere?
Where did you get the content from? Stargen, etc? player fighter?
what game is this for? This looks really cool!
Any Chance of releasing the Planet Generator Blueprint, or at least showing how it works?
Will you ever do a tutorial on how you did the space ship movement?
We want to focus on lesser talked about things within the engine. You should be able to find resources for ship movement, as that's what we did to start off with. There is also a flying starter pack within Unreal you can use as well :)
Thanks , I’ve learnt a lot from this video. :) . This method looks great for loading in additional asserts , but how do you load a complete new system and it still being seamless ?
1 minute in, you pulled in a ship that shoots. im a noob, and i need this tutorial. any help would be awesome!!
Because he has a fully optimized, working, rigged spaceship from the marketplace
that was really helpful
in 5.3 "world composition is deprecated, consider converting to world partition". 5.3 doesn't like this method and makes me curious if they made world comp semi obsolete in some way with changes to partitioning. sigh...
Alex, Thank you for this tutorial!
Newb question... Is it possible to create a celestial body (planet, asteroid, planetoid) that you can land on and play on without any other loading screens or having to create a cinematic and then load a different environment?
It absolutely is possible. Procedural planet generation is a hot topic these days, thanks to games like Kerbal Space Program, Star Citizen, and Elite: Dangerous. There are various methods for accomplishing this but it is quite involved.
Possibility that you’ll show how to do a warp point even a really basic version?
Our current warp system is actually in the process of being reworked. We may actually use this as an opportunity to share our process. Thanks for the idea!
Cool! I’m working on a project for school and this video really helped me out. I just need a way to travel in between planets/levels lol
@@Grimmstar I would love to see this as well. Thanks for sharing!
I loved this tutorial! i just have a question: if all the celestial bodies for some reason are placed at incredibly large distances (just like your video) but vertically from one another, how will it show on the other window where the layers are showed? Can you really make world composition vertically?
You could do it, but the mini map wouldn't be very helpful. As far as I know, the map generated can only be oriented for viewing horizontal orthographical views. Everything else should work fine though.
@@Grimmstar Got it! Can't wait to give it a try :D thanks a lot!
@@roux8671 Happy to help! Any details on what you'd use it for? We love seeing what others are making!
Awesome stuff. Can we get a tutorial on adding more lights though, cos we can't really do much with two planets. Would it be too intensive to have a point light aiming at each planet, like you have with the player? And can I ask, is there any way to scale stuff up on loading, like so, you could have a planet with a base on it that's tiny from space but large compared to the ship once you get close, or does it all have to be scaled the same? Anyway, thanks a lot. That's really great stuff.
What if you'll create big point light in channel 0 for planets and for everything else you'll use channel 1?
Question :
How it works to fligh in Z up or down...
Rebase is ok, but in Z after 20 km the ship starts to shake.
Is it possible that the Rebase only work in X ans Y ?
Here's a wild game design question, if the celestial bodies are present in the 3D space, how will you prevent a player from flying into it? Invisible walls? A star I imagine, could lower the player's health, but what about some random planet or a gas giant?
Depends on the celestial body. For our game, the spacecraft being used are not designed to withstand atmospheric flight. If you get too close to a planet with an atmosphere, you'll be issued a warning before eventually losing control of the spacecraft and dying. We're looking for ways to allow travel over moon surfaces, but it's lower on our last for gameplay mechanics.
In Freelancer, you get warned about entering the atmosphere and eventually just explode if you get too close.
Sorry for my English. Please tell me, how did you manage this ship? I've been suffering for a month and I can't do it, I don't have the strength anymore. Help please
Hi bro !!! Where did you get the assets? Planets and spaceship and everything else! Have you created it yourself? Thank!
the lighting channels solution to the sun problem makes it so you can only have 3 planets per sun
11:30 what if you wanna share the player position to another player if the game is multiplayer?
How about world partition nowadays?
Hello, I am currently working on a similar Game for my school projekt. I have problems with the SkyBox. Could you make a video about your star generator? I have the felling the normal cubemap skybox workflow isn´t optimal for Spacegames. hope you have time for my problem and I wish you lot of fun an sucsses with your Projekt.
Hi. Great video! A few hours a googling have turned up, that with origin shifting enabled, the maximum World Size can be increased to 210km in multiplayer (assuming you get it to work, a recent post implied it's broken now). Anyway, 210km is still way too small for a space game. Have you just scaled everything to tiny dimension?
We've done a number of things to help provide a proper sense of scale. First, we don't need to do full-size planets. No game does that and it still feels pretty good. KSP, Elite, and Star Citizen all use smaller scale planets. We don't plan on having planetary landings, so getting the scale proper isn't a super high priority.
Second, we did actually scale down the player ship. We won't be going to FPS size in our game, so the player ship is actually scaled down to 1/5 what it would be in actual size. This gives us some head room for scaling objects.
Third, we dynamically scale objects like planetary bodies. While further away from the planet, the planet will scale down and take up less space. When the player approaches a planet, the planet size will scale up to an enormous size. This gives us some additional room to utilize when working with World Composition in Unreal Engine.
@@Grimmstar Really informative. Thanks for sharing!
Did you built that Star Generator?
I would like to use that... :)
What solution did you end up going with to get light to more than two planets?
We wound up making the planet materials emissive rather than using pure albedo for color. We set up a dot node in the material and made its output direction linkable to a light via blueprints. We then set up a light in the level, turned it off, and used that to get an accurate direction for the shadowed area. Then we had to play around and find the right mix for the Power and Multiply nodes to get the shadowed areas transitioning in a natural/realistic way. It came out quite well, actually.
where can i find the star generator?
Should be somewhere in the Unreal marketplace. That's where we picked it up from, at least.
Hey Alex! How would this work if you have 2 planets that are on top of each other? similar XY, but offset on the Z-axis, meaning their levels would overlap, is there any way to make world composition work on a 3D space? Or would it just load both levels at the same time with no way around it
World composition should work just fine in 3D space. Whether it be the X, Y, or Z axis, the distance measurement should all the be the same. I don't believe there should be any problem with what you're proposing.
I also encountered this problem. By default (at least in UE 4.22), World Origin Rebasing works only in XY plane (it can be checked with the GetWorldOriginLocation function). There is bRebaseOriginIn3DSpace config variable in the UWorldComposition class. You can set this variable to True by adding the following two lines to the DefaultEngine.ini file located in the Config folder of your project:
[/Script/Engine.WorldComposition]
bRebaseOriginIn3DSpace=True
I'm not sure if this is the proper way to set this config variable, but it seems to work.
Does this work in all 3 dimensions? I saw world composition only has X Y coords, what about Z ?
It should work in all three, yes. But the Levels map will looks a little strange if you're doing a lot of vertical work.
@@Grimmstar I saw a discussion over at unreal forums that UE5 might support large coordinate system: forums.unrealengine.com/t/64-bit-coordinate-system/231743 . Really hope that ends up being true!
Can you land on these planets and walk around on them.
About the lighting, what if you have 5 planets placed at different locations around the sun?
We've moved to changing the material for the planets to being an emissive material, using a dot product to mask the back end of the planet for the "shadow." This way, we can place as many planets as we want without issue. Just takes some dialing in of the emissive strengths to get it looking right.
@@Grimmstar Nice trick! Since it's a sphere, it's quick easy to fake lighting. Thanks for the tip!
How did you make the planetary atmosphere?
Thanks for tut)
Any chance to make composition work for 3d space? Not only 2d. (through code, dunno)
wait, can we use this method to make something like No Mans Sky or Star Citizen? I'd want the player to be able to seamlessly fly from space, land on a planet and then walk around it, etc.
Theoretically, yes, you could. That would take an enormous amount of additional effort though.
@@Grimmstar well the Welcome to the Future devs pulled it off, so challenge accepted. 😎 How well does world composition work with multiplayer in UE4, if at all? For example can two players be in different levels (on different planets) but still see the other levels streamed in the distance? I appreciate the help, btw.
i have a problem with the BP_Sun, i keep getting an error that says
Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetPlayerCharacter_ReturnValue". Blueprint: BP_Star Function: Execute Ubergraph BP Star Graph: EventGraph Node: SetWorldRotation
im new to unreal and coding in general, i have no idea what this means or how to fix it.
Hi! You can try replacing the "Get Player Character" with "Get Player Controller" and see if that helps.
We've had to make a couple of small changes since 4.22, but I don't have access to our project right now, unfortunately. I will try and give things a second look when I get a chance and update you further.
I hope this works in the meantime!
I use Get Player Pawn and it works pretty well
nice vid
Thanks a lot
I like this video so much it made me tingle inappropriately
Nice but, is it possible to create all this procedurally?
How does this woek in UE5.x?
Hey OP, call Unreal right now; no, seriously... do it. Tell them you want a job AND that you want to a brand evangelist. You know what we want, and you know HOW to deliver. Thank you!
How do I make a ring around a sphere ?
Right now, it's an enormous plane, using a two-sided material. You can use a vector to radial node on a simple noise map to give some variation of rings. Further work is required to get the opacities set right, but it's not too complicated.
it works on dedicated serveR?
Hi can you make this emissive in 3dsmax??
No need! You can use the UE4 Material Editor and plug a simple colour into the Emissive channel. The standard ranges for each colour channel are 0-1, but if you push the values beyond 1, you'll get brighter and brighter results.
does the new sky system work well with this setup?
We actually haven't updated to 4.25 yet, so I can't fully comment on this at the current time. We're working on updating, but have a few kinks to work out before we can get there. The new atmospheric lighting system is definitely something we're interested in trying out though, so look out for an update regarding that!
@@Grimmstar was about to comment the same question. They made the skys movable in 4.25, but you can only have one at a time. Interested to see how that would be overcome.
How did you made the stars?
and where did you get the planet generator?
You can find it in the marketplace
thanks.
How do you make the warp speed and the warp points in blueprints?
Our first implementation used a timeline to translate between the player's current position and the position of the placed icon for the warp destination. You can try that in Unreal's blueprint system.
We've since moved to C++ for our warp mechanic, with active checks for course correction to ensure proper destination at larger scales. We may do a video on this sometime down the road, so keep an eye out!