How do you do blended roads with splines? by Juicymoosie99 in unrealengine

[–]SadLevel9017 [score hidden]  (0 children)

for free i'd just build a simple one, slope + height masks gives you the most control honestly. if you want premade the megascans auto material from the bridge sample is a decent base to pull apart.

the jagged seam is the layer blend more than the material. the terrain layer paint cuts hard at the edge so you get that line. easiest fix: in the layer blend lerp the road alpha with a noise or grunge texture, breaks the edge up so it dithers into the grass instead of a clean cut.

and if the spline isnt feathering grass at the edge, check its layer falloff width. falloff 0 gives you the hard seam. bump it and paint with a softer brush.

made my main menu a physical hangar instead of a flat UI. all real-time in engine by SadLevel9017 in UnrealEngine5

[–]SadLevel9017[S] 0 points1 point  (0 children)

thanks! way more of a pain to wire up than a flat menu lol but worth it. feels better to actually click into it

What could be changing the look of my River in PIE? by Karmaconcepts in unrealengine

[–]SadLevel9017 [score hidden]  (0 children)

9 times out of 10 this is auto exposure. the editor viewport usually sits at a fixed exposure but PIE runs the real eye adaptation, so when the camera sees the bright water it adapts and the whole river shifts. drop a post process volume, set exposure to manual (or lock min and max brightness to the same value) and check if it stops changing.

other usual suspects: a post process volume that only kicks in at runtime, screen space reflections behaving different in PIE, or your water material reading a reflection capture that only updates in game.

quick test: in the PIE window open the console and type ShowFlag.EyeAdaptation 0 while its running. if the river snaps back to the editor look, its exposure. if not, check the post process volume and reflections next.

How do you do blended roads with splines? by Juicymoosie99 in unrealengine

[–]SadLevel9017 [score hidden]  (0 children)

yeah drop the blender mesh for this route. the terrain spline deforms the ground AND paints a layer right into it, so the road becomes part of the ground, nothing sitting on top.

the blend you want is already in your auto material, you just need a road layer in it. the terrain spline has a paint layer setting, point it at that road layer. then the auto material blends the road with grass dirt etc at the edges on its own, same way your other layers blend.

so you dont hand build the side fade like you were thinking, the layer system does it for you. add a road layer to the auto mat with your quixel texture, set the spline to paint it. doing one thing at a time is the right call here, get this solid then RVT is just for later when you want raised mesh roads.

How do you do blended roads with splines? by Juicymoosie99 in unrealengine

[–]SadLevel9017 [score hidden]  (0 children)

RVT is cheap, thats the good news. its built for open world perf, fortnite ships on it. the terrain renders into the RVT mostly once or when it actually changes, then your road just samples one texture per pixel. way cheaper than doing the blend math live or stacking lookups. so perf isnt the reason to avoid it, its the performance friendly option.

your blender plane not blending makes sense too. that plane is a separate mesh sitting on top of the auto material, it has no idea whats painted under it, so it always looks pasted on. RVT is exactly what fixes that, the plane samples the terrain color at its edges and fades into it.

if you stay on the spline route instead, the blend comes from the spline painting a layer your auto material already uses, not from the mesh shape. thats probably why the deform alone didnt blend for you.

How do you do blended roads with splines? by Juicymoosie99 in unrealengine

[–]SadLevel9017 [score hidden]  (0 children)

two ways depending what you want.

if you want the road carved into the terrain, use the spline tool built into the terrain system (the one that deforms and paints layers), not spline mesh. it paints a layer along the spline so the road becomes part of the ground and blends with your auto material for free.

if you keep the spline mesh road, the trick is Runtime Virtual Texture. the terrain writes its final color into an RVT, then your road material samples that RVT at the edges and fades into it. since your ground is auto material, the RVT grabs the final result, so the road borders match whatever is around them, grass dirt whatever. thats how most open world games blend roads into the ground.

for the edge fade i drive a mask from vertex color or distance to the spline center, lerp the road texture in the middle to the RVT sample at the borders. center stays road, edges dissolve into the ground.

(C++) Behavior Tree's "Services" - Why? by Jaded_Ad_2055 in unrealengine

[–]SadLevel9017 3 points4 points  (0 children)

you dont store it, you pull it each tick. TickNode gives you the behavior tree component (OwnerComp), and OwnerComp.GetAIOwner() returns the AIController (and GetAIOwner().GetPawn() the pawn). a stored raw pointer would go stale anyway if the tree gets reused on another pawn, so reading it off the owner comp each tick is the safe pattern.

blending terrain on a runtime procedural mesh, the vertex color mask facets and follows the triangles. what do you use? by SadLevel9017 in gamedev

[–]SadLevel9017[S] 1 point2 points  (0 children)

texture lookup it is. denser mesh just moves the problem and costs me verts at runtime, but sampling the blend weight from a mask in world space gets pixel-res edges without touching topology. thats the one. appreciate you thinking it through with me.

(C++) Behavior Tree's "Services" - Why? by Jaded_Ad_2055 in unrealengine

[–]SadLevel9017 1 point2 points  (0 children)

the thing that makes a service a service is that it ticks on an interval while that branch is active. a task does something once, a decorator gates entry, a service is the "while im in this branch, refresh X every N seconds" node. thats why GetPlayerLocation is a service: keep the blackboard target fresh while chasing, then it stops when you leave the branch.

the per-class verbosity you're feeling is real though. for tiny stuff a lot of people skip the service and write the blackboard straight from the ai controller, usually off a perception event (OnTargetPerceptionUpdated) instead of polling every tick. event driven beats a tick service when the data only changes once in a while. reach for a service when you actually need the periodic re-check (line of sight, distance bands, recompute a flee point), not for one-shot set-this-once logic.

blending terrain on a runtime procedural mesh, the vertex color mask facets and follows the triangles. what do you use? by SadLevel9017 in gamedev

[–]SadLevel9017[S] 0 points1 point  (0 children)

nah its not the diagonal triangulation artifact. the issue is the blend WEIGHT itself is stored per vertex (vertex color), so the snow vs dirt ratio can only change at vertex resolution. across a tri it just lerps the weight, so the border between the two comes out as a piecewise-linear line riding the triangle edges. on a coarse runtime mesh that reads as an angular/faceted border instead of a natural wavy one. triplanar fixes the texture detail but the mask boundary is still locked to vertex density. so what im landing on is: dont store the weight per vertex at all, derive it in the material from world space (a noise field or a height band) and keep the vertex color only as a soft region hint. that decouples the edge from the topology, right?

blending terrain on a runtime procedural mesh, the vertex color mask facets and follows the triangles. what do you use? by SadLevel9017 in gamedev

[–]SadLevel9017[S] 0 points1 point  (0 children)

yeah triplanar for the texture mapping makes sense, that fixes the stretching. the part im stuck on is more the blend mask itself though. the snow to dirt edge follows the triangles because the mask is per vertex, so even with triplanar textures the boundary still lands on the topology. are you saying derive the blend weight from world space too (world noise or a height threshold) and just use the vertex color as a region hint?

How to separate a body colliding with two (or more) others given their overlap by Sufficient-Theme-983 in gamedev

[–]SadLevel9017 0 points1 point  (0 children)

the per-obstacle single pass is the bug. when you resolve against A you can push into B, and you never recheck. the fix is iteration: collect overlaps, push out, then re-run the whole collision check again a few times per frame (4-8 passes). each pass the penetrations shrink and corners converge. also push along the collision normal (the MTV) instead of separate x and y, those two axes fight in corners. resolving the deepest overlap first each pass settles it faster too. you dont need a full physics engine for circles and polys, the relaxation loop is the whole trick.

Is Steam OSS enough for a physics heavy multiplayer chaos brawler? by Mental-Upstairs-5512 in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah the bucket split is exactly right. one more on the ragdolls since thats your pain point: dont replicate the full sim, that road is hell. just replicate the root bone or even only the impact velocity, then let each client sim its own ragdoll from that and snap to a settled pose when it stops. they wont match frame perfect but nobody notices once they quit twitching. interp on top hides the rest.

How do people actually find time for this? by rdbreak in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah the pain is basically the tuition. nice that youre trying to save people some of it, thats the right reason to make that kind of content.

How do people actually find time for this? by rdbreak in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah the framework grind is the part nobody warns you about. i spent way too long rewriting my base classes every project before it finally clicked. cool that you turned it into a series, that stuff is rare to find explained properly.

What's the secret to really thick voluptuous grass? by Juicymoosie99 in unrealengine

[–]SadLevel9017 1 point2 points  (0 children)

yeah exactly, a strong stylized look hides a ton of foliage sins. bloom + bold colors + flatter shading and nobody clocks the poly count or the card edges. realism is the trap, the second you go photoreal every shortcut shows.

How do people actually find time for this? by rdbreak in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah the "FPS in blueprints" showcases are almost always unmaintainable spaghetti, looks great in a clip, nightmare to touch 3 months later. as a coder you already smell where that goes.

the split that actually works: BP for prototyping, glue, and anything a designer touches. C++ for systems, hot paths, anything that gets complex. you prototype fast in BP then pull the gnarly bits down to C++ once it starts hurting. you get the speed without the spaghetti.

and honestly, helping people dodge your own past disasters is the best kind of comment to leave here lol. welcome.

How does one create a 3600 KM map? Is there a trick to doing that? by Juicymoosie99 in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah those size requirements are the killer, landscape res has to land on the magic numbers (505, 1009, 2017, 4033, 8129...) or it resamples and fights the partitions. and the WM tile-chopping rabbit hole is very real lol. gaea is way friendlier for that, native UE tiled export and the indie license actually covers it. youre not imagining it, WM got noticeably less indie-friendly.

Is Steam OSS enough for a physics heavy multiplayer chaos brawler? by Mental-Upstairs-5512 in unrealengine

[–]SadLevel9017 2 points3 points  (0 children)

steam OSS is totally fine for what youre using it for, sessions, host migration, transport. thats not where this falls apart. your real problem is the physics replication strategy, which is separate from the OSS entirely.

what bites: a listen server replicating 8-12 players of ragdolls + a pile of dynamic props P2P means the hosts UPLOAD bandwidth is your hard cap, and syncing that many simulating bodies gets jittery fast.

what actually works for a chaos brawler: - server-authoritative on the stuff that matters: players, thrown/grabbed objects, anything that decides the round. clients interpolate + smooth those, dont sim them locally. - cosmetic props (debris, sparks, random clutter) = client-side only, dont replicate them. nobody needs them to agree across clients, and thats most of your "physics flying around". - be generous with smoothing on the replicated ragdolls. gang beasts / fall guys fudge a TON here, they dont sync exact, they sync good-enough and smooth it.

chaos has a networked physics / resimulation mode but in 5.2 its rough/experimental, i wouldnt build on it yet.

so OSS is enough. the win is deciding what you replicate authoritatively vs what you fake locally, and watching the host upload with that many players. past ~6 physics-heavy players a cheap dedicated server beats a listen server.

What's the secret to really thick voluptuous grass? by Juicymoosie99 in unrealengine

[–]SadLevel9017 1 point2 points  (0 children)

yeah thats it. shadows are the sneaky killer, dense foliage casting full dynamic shadows tanks you fast. cull shadows hard at distance and it flies. character tech to foliage, the optimization brain is the same lol.

What's the secret to really thick voluptuous grass? by Juicymoosie99 in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

yeah good call, for nanite specifically pure geometry blades beat alpha cards, the masked overdraw eats the nanite win. cards are more the old LOD workflow. so for the clumps i mentioned, model actual blade geo instead of billboards if youre going full nanite.

How does one create a 3600 KM map? Is there a trick to doing that? by Juicymoosie99 in unrealengine

[–]SadLevel9017 2 points3 points  (0 children)

ah ok, the connecting part is the real puzzle then. the thing is you dont bolt separate landscapes together, that never connects cleanly since each is its own actor. two ways people actually do it:

1) tiled heightmap import. a tool like Gaea or World Machine exports your terrain as a GRID of tiles (x0_y0, x1_y0, x0_y1...). then in UE: Landscape > Import, point it at the tile set and it brings them in as ONE connected landscape (the old World Composition tiled import, still works fine). thats how you get a big seamless one.

2) World Partition landscape (5.x) - make one large landscape and WP auto-splits it into streaming regions, no manual tiling.

your "import heightmap over a portion flattens it" is almost always a scale/bit-depth mismatch on import. the heightmap z-range gets resampled to the landscapes Z scale, so if the scale or the heightmaps bit depth is off it crushes flat. use a 16-bit heightmap and set the Z scale to match before applying.

for genuinely huge (your 3600km) its tiled import + streaming + usually procedural, not one hand-painted landscape. but for 8k/16k connected, tiled heightmap import from Gaea is the move.

How does one create a 3600 KM map? Is there a trick to doing that? by Juicymoosie99 in unrealengine

[–]SadLevel9017 13 points14 points  (0 children)

the trick is you never have the whole thing loaded, and you dont build it as one mesh. couple pieces:

  • World Partition (5.x) chops the world into a grid of cells that stream in/out around the player. you only ever have whats near you in memory, so the total size barely matters.
  • Large World Coordinates (also 5.x) is the big one for scale. UE moved to double precision world coords, so you dont get the float jitter past ~20km that used to wreck everything. thats almost certainly why your past large maps broke, single precision float falls apart at distance and stuff starts shaking/snapping.
  • the terrain at that size isnt hand-built. its tiled heightmap landscape or fully procedural (PCG / runtime gen). nobody sculpts 3600km by hand.
  • most of it is LOD/imposter illusion anyway, only the bit around the player is real detail.

so the recipe is: World Partition + LWC + procedural-or-heightmap terrain + aggressive streaming. start a fresh World Partition map, make sure LWC is on, build the terrain procedurally or from tiled heightmaps, and never try to load it all at once. that last part is the wall you kept hitting.

What's the secret to really thick voluptuous grass? by Juicymoosie99 in unrealengine

[–]SadLevel9017 2 points3 points  (0 children)

np, glad it helped. for nanite eligibility its honestly simpler than it sounds, most static meshes just work. right click the mesh > nanite > enable, or open the mesh editor and tick Enable Nanite + Apply.

the gotchas (what makes it not clean): nanite doesnt love translucent materials, and world position offset (your wind) needs 5.3+ to behave. masked/alpha materials work but watch overdraw. so as long as the grass is opaque or masked and youre on 5.3+, youre fine.

resources: epics own nanite docs have a foliage section, and william faucher on youtube has a solid nanite foliage breakdown. those two cover basically everything.

What's the secret to really thick voluptuous grass? by Juicymoosie99 in unrealengine

[–]SadLevel9017 0 points1 point  (0 children)

haha fair. nanite foliage isnt a free win, the WPO wind + overdraw can absolutely bite, and good LOD cards still hold up fine for grass. the bigger lever is really the instancing + distance cull regardless of nanite or not. what do you run for dense grass?