gussi111 Posted August 9, 2021 Share Posted August 9, 2021 This one always annoyed me and kind of ruined the immersion in KSP 1 just seeing objects or Kerbals floating slightly above ground, I hope they find a way to fix it or even better add a ground effect like in the trailer when landing and walking around leaving footsteps behind. - https://youtube.com/clip/UgwVSDWIxSth4c8F6QN4AaABCQ Link to comment Share on other sites More sharing options...
Black Dog Posted August 10, 2021 Share Posted August 10, 2021 Since KSP will be a completely new game that probably won't copy anything from the KSP 1 code, you can be pretty sure it will have a completely new Kraken with improved effects. Link to comment Share on other sites More sharing options...
K^2 Posted August 10, 2021 Share Posted August 10, 2021 (edited) On 8/9/2021 at 8:10 AM, gussi111 said: This one always annoyed me and kind of ruined the immersion in KSP 1 just seeing objects or Kerbals floating slightly above ground, I hope they find a way to fix it or even better add a ground effect like in the trailer when landing and walking around leaving footsteps behind. - https://youtube.com/clip/UgwVSDWIxSth4c8F6QN4AaABCQ Ground effects are relatively easy. You can do most of this with decals. Ideally, you want to use virtual texturing for terrain, in which case, the cost of decals averages out to almost nothing, since you don't have to render them every frame. But even with traditional decal rendering, if you don't have too many, it's not a huge overhead. Displacement mapping can really sell the footprints being 3-dimensional despite being rendered as flat textures. The landers not sitting on the surface is a separate issue. It has to do with how collision is built from the height map, and the rendered terrain is smoother than the physics terrain. This one's a little tougher to fix. In general, terrain LoD is not an easy problem to fix gracefully. Simple fixes invariably lead to some amount of floating. Thougn, IMO, that would be preferable. The correct fix for this is for wheels, kerbals, and lander legs to use a direct look-up into the terrain texture. Again, ideally, you'd be using a virtual texture and a compute shader to probe the heights. That allows your physics to have the exact same terrain height as your rendering. You would have to handle LoDs separately, but so long as you store the exact position when lander was in highest LoD and then freeze it when you move further out, it should be fine. From the distance, it does mean the lander might hover above or sink a bit into terrain at lower LoD, but as that happens from a bit of a distance, it shouldn't be nearly as noticeable. You'd also be able to expand the range at which this happens with better graphics hardware, as this is now entirely a GPU problem. The real challenge is getting all of this to work under Unity. It does now come with basic virtual texture streaming support, which might be adequate. Ideally, you'd want to do some custom rendering to virtual textures, so that you can add decals, etc. But even if it just handles LoDs for you, that's technically enough to have the functionality described above. All you have to do is make that texture available both to rendering and compute passes and you should be set for running pixel-perfect terrain collisions for landers, kerbals, and rovers. P.S. The real power of virtual textures used for height maps is that you could actually do dynamic cratering. I know that Intercept said they have no plans for it now, but if they were to use virtual texturing for terrain they could introduce it in the future. Edited August 10, 2021 by K^2 Link to comment Share on other sites More sharing options...
Recommended Posts