It's helpful to include if the player sees the bullet alongside the gun, for example when there's a reload animation.
Eric Chadwick





https://youtu.be/_SSyOIR5Ku0Hi all,
First time participating! I'm loving the environments posted so far. Both are looking great. Looking forward to seeing the final results.
Found a bit of time today, thought I would have a go at the hard surface prop. Just a blockout for the time being.
I'm curious how people would approach texturing something like this. A few options come to mind:
Maybe I'm overthinking it :D
Cheers!
Have to stop on this project for now. In the end lost focus a bit and spent too much time with sequencer and animations :O certainly something I want to explore in the future projects to make environments more lively. Maybe I will find some time later this month to improve a few things. Greatly appreciate any suggestions.
Some aspects to improve: Better books, rework level mesh, polish boat and debris asset, expand debris library, improve trim sheet and create additional textures, improve foliage.
Fabi_G
I am also not joking; Talk to someone in real life. I don't understand what this is all about, but I can guarantee that slinging insults and passing judgement on strangers is not going to help.
I think you might need to see a doctor, bud. Not trying to make a joke here, but this post sounds a lot like schizophrenia or something.
Ashervisalis
Hi all! This is an environment piece based off a real bicycle rental shop that went out of business in Pulau Ubin, Singapore, done in unreal engine.
Bicycle rental shops are slowly closing off on the island, especially with the recent pandemic driving tourist traffic down. Hopefully this artwork will now let more people in the world know about the existence of these shophouses bicycle rental that existed on the tiny island of tiny Singapore.
I originally started this project in UE4, utilising RTXGI by Nvidia, and I've shifted over to UE5 ever since RTXGI became supported over there.
Most modelling were done in Maya, some in Zbrush. Some fabric made with Marvelous Designer.
Most textures are tiling/trim textures made in Substance Designer.
Some props are textured in Substance Painter.
All foliage assets are from epic store/megascans.
Hope you'll like it!
Artstation Link: https://www.artstation.com/artwork/VyY4BZ
Here's a process GIF from the various stages of the project:
Thank you for viewing!
cwchunwei
Thanks! Looking forward to updates!
It's very cool to see the GI update dynamically with Lumen, but it's demanding for my GTX 1060. I continued with the scene and of course the amount of tasks exploded! For the water I chose to try out the UE5 water plugin and faked light from underwater windows with some emissive planes.
A few more hours, then I will have to close the project.
Fabi_G
This write-up is a brief process overview that shows how segment matching, during the initial block out, can make blending complex shapes together a lot easier. The order of operations and choice of modeling tools may be different for each shape but the important thing is to try and match the geometry of the intersecting meshes. Getting everything to line up is mostly about creating curved surfaces with a consistent number of edge loops that are shared between the adjacent shapes. Solving these types of topology flow issues early on in the modeling process is one of the keys to efficient subdivision modeling.
For this example, it made the most sense to start with the largest shape first, because it was the most complex. Since curves can be used to generate procedural geometry, it's a fairly straightforward process to adjust the density of the circular cross section, number of segments along the path and taper the end of the spiral. This flattened helical shape was created by splitting a Bézier circle, extruding one side and adjusting the curve's geometry settings.
The center of the housing was created by outlining the shape's profile then using a modifier to sweep it the same number of segments as the adjacent shape.
Details like the outlet flange can also be sketched flat then extruded and rounded over with modifiers.
Smaller surface details are added towards the end of the block out. Since the base shapes are still procedural geometry, it's fairly easy to adjust the number of segments in the larger shapes so all of the circular bosses are supported by adjacent geometry.
Once the block out is completed the shapes can be merged with boolean operations. Any stray geometry can be removed or blended into the existing shapes with operations like limited dissolve, merge by distance, snap merge, etc. It may also be necessary to make room for the support loops by moving some of the vertices along the surface of the shapes. However, most of the topology flow issues should resolve cleanly because of the segment matching.
After the base mesh is completed, a chamfer modifier can be used to generate the support loops around the edges that define the shapes. (Highlighted in the example below.) Using a modifier to add the support loops isn't strictly necessary but it helps preserve the simplicity of the base mesh. Which makes it a lot easier to adjust the shapes and sharpness of the edges when the subdivision preview is applied.
Below is what the final base mesh looks like, along with a couple of mesh previews with the chamfer and subdivision modifiers active.
While it is possible to manually create these shapes and try to plan out all of the segment counts ahead of time, using procedural geometry generated by curves and modifiers makes the process a lot easier. It's also important to try and solve most of the topology flow issues at the lowest level possible. This will help prevent a lot of unnecessary work whenever the mesh density has to be increased to support smaller details.
Another thing to keep in mind is that efficient subdivision modeling is often about making tradeoffs that compliment the model's intended use. The important thing is to try and balance accuracy and efficiency. In the context of high poly modeling for game assets, segment matching doesn't always have to be perfect. More often then not, close enough will be good enough.
Recap:
Evaluate the shapes in the references and figure out which part constrains the rest of the nearby surfaces. Establish the block out using a reasonable amount of geometry. Match the number of segments in the intersecting geometry to the adjacent shapes. Try to maintain consistent distribution of edge loops along curved surfaces. Rely on specific tools and modifiers that can generate accurate geometry to make things easier. Solve major topology issues before subdividing and adding smaller details.