I almost broke my computer screen trying to get lighting to work in one of my artviz scene.
my rage hasn't sufficed yet. i think i won't touch ue4 for a week.
anyway here a preview to a office asset pack im working on.
here are a few non-final wip light switches.
these i randomly picked to showcase.
I have been having a lot of fun just toying around with the different templates and features, with my latest effort being a racing level based on the Vehicle Game template!
Unfortunately for some reason i couldn't attach the images so I'll share a dropbox folder with some screenshots : https://www.dropbox.com/sh/3wt1sj5wf...TRrYWGuda?dl=0
// Linus "Jolner" Borgström - Sweden
^ nice. I definitely see shades of DFAO at work in those screeens.
my project )
Are you using a translucent shader? If its for grass...just switch to masked and use subsurface instead of translucent. That should help. Looks nice btw
I am new to Unreal 4 engine, shifting over from the Source Engine so I am slowly learning what I can do with this engine and I can say it is Awesome! I began modeling up some industrial props last week and just threw together a little sample room of some pipes I created. The first has the default M_Metal_Steel material applied and the second has the M_Metal_Burnished_Steel. Two of the exact same scenes with a completely different look from the different materials. For some reason I cannot upload the images From my computer or from Photo bucket so here is my link.
Started rewriting my threaded zip reader.
Previously, it was doing (roughly) this process to load a texture:
* Read (from disk) the zip header structure.
* If a request to load the compressed data into a buffer hasn't been made, make it (same with timer that checks the requests).
* In the timer, if the compressed load is finished (this is via FIOSystem::LoadData btw), prepare and fire off the thread to decompress it and also generate the mip data for the texture.
* Also in the timer function, it checks the decompress/mip gen tasks and if finished, creates a texture and puts it into the cache.
* In blueprint, the cache is checked and if there's a texture that was being requested and it shows up, it's set onto the page mesh as a dynamic material instance.
Well, that works great for 1-2 pages, but quickly bloats up memory for loading a whole comic, and also introduces some hangs due to reading the zip header over and over (unnecessarily).
So I've restructured it quite a bit, and the result (not yet done) is going to be a cleaner process:
* For a given zip file, if it hasn't had info cached yet, it will submit an FIOSystem::LoadData for the entire zip file.
* Once that comes back (checked in the timer), a task is created to decompress and generate mip data (the task now just gets a pointer to the compressed zip data - no more copying around buffers, and since it's being read only, there's no worry about doing it in the thread).
* Task decompresses the data from the compressed zip buffer (an offset is added to the pointer, corresponding with the zipped file to load).
* After it's decompressed, the data is loaded from jpg into a raw bitmap buffer, and then a mip buffer is generated (pointer passed in to the task).
* When the task is complete, the mip data will be copied into the texture.
In addition to that, I've set it up to use a smarter cache system, which will load the requested page and 3-4 pages after it (if available). It will request new pages and unload old ones when getting about halfway through the currently loaded pages.
Later on, I'd like to also keep a cache of half-sized pages to show if the page requested is still being loaded.
I changed some things around and implemented delayed generated to save some memory on large generation amounts. Now the generation time is down to 200ms for just the grass.
Since the 2d side of the plugin is now done, all that is left to do is add the third dimension to it and then release it to the public.
Figured it was about time we started posting some gameplay This was our first playtest one-on-one. We just had another with free-for-all 5 guys with added rockets that switch away everything in the blast radius - it was blast! (pun intended)
Cross posted from here: https://forums.unrealengine.com/show...he-environment
Yeah...looks like good fun Tom!
Quick update on threaded file loading from .zip files (and threaded texture loading from .jpg):
* Got everything rewritten to use the more sane system, where the whole zip file is read (compressed) into mem, and then each texture is uncompressed directly from there into a mip data buffer.
* Right now it's still quite naive about what textures to cache and things, and doesn't have the system, for e.g., freeing up page 1 when the user hits page 4, and queuing pages 5, 6, and 7.
Right now I've also got a problem with the code that copies from the compressed zip buffer into zip data structures used to figure out the internal zip structure, as I had to replace IFileHandle Read/Seek/Tell with Memcpys and pointer arithmetic.
At some point I think I'll abstract that out so I don't have to manually do the pointer arithmetic, and just set it up so I can call my own Read/Tell/Seek functions to move around the buffer pointer.
So to debug that issue, I went back to JUnzip and got its little example compiling so I can manually step through and figure out the offsets and what they should be at each stage of reading the zip's central directory structure (gives info about the files).
Some screencaps from an underground city, from SHADESMAN - Love labyrinth (SHADESMAN : BEGINNINGS)
At Space Dust Studios we just released our latest gameplay video for Space Dust Racing. Things have come a long way in just 4 months!
Space Dust Racing is a work-in-progress vehicular combat party game for up to 16 players, supporting local and online multiplayer. Cartoon competitors race on exotic planets, using weapon powerups to knock each other out and score points. Those that fall behind are eliminated until one survivor remains. Rounds repeat until a winner prevails!
Please subscribe or follow our developer blog for updates: http://blog.spaceduststudios.com
Enjoying the bright and colorful style of SPACE DUST RACING; keep up the good work guys!
Space Dust Racing is looking great! I hope actual races will be as tight (I mean "close combat") as in the videos in mario kart the players are usually pretty spread out with one maybe two on-screen at once.
It's great to see what everyone is doing! Inspires me to keep going
Thanks Tom! Yep the combat is always as tight as this, we don't do splitscreen like Mario Kart (which allows players to spread out), everyone shares the same camera view. If you fall off-screen, you're knocked out for the round (hence the game mode name "knockout") - it's a throwback to retro party games like Micro Machines and Mashed. What you saw in this video are in-game highlights from our latest playtesting session.
Another quick update on my work threading zip loading and decompression of (at the moment) jpg files for loading into textures.
I finally got the rewrite working last night, though not without an occasional crash bug still present (did a bit of work cleaning that up this morning).
Now it works like this:
1) When a request comes in, check the zip file cache, if nothing there, create a new cached zip file object and call FIOSystem::LoadData to load the whole (compressed) file into mem, as well as set up the timer to check completion.
2) When the LoadData call finishes, go through the list of pending page requests, and create a new reader Worker to handle decompressing and filling a mipmap buffer (all Workers read from the single compressed zip buffer - threading ftw). Right now it's set so only 5 workers can run at once.
3) When a thread finishes, copy the mipmap buffer into the Texture2D's mip, free it up, remove the worker etc., and set the Texture2D into the cache.
Then in Blueprint I use a function to check the cache for a given zip file. When it's available and Set Page is called to set it onto the material, it works
I need to debug getting rid of workers, as well as make it so that a loading material is used when Set Page is called but the desired page isn't ready.
Best of all, the loading is 100% buttery smooth, no hitching or hangs in the main game thread - no mean feat when loading in images which are 2000x3000 resolution (roughly).
Eventually I'd like to make the file loading a bit more generic, and package this up as a plugin on the Marketplace, so that other developers will be able to easily use .zipped files in their packaged games (works in editor, of course).
I can think of a lot of uses for being able to load in files inside a zip into in-game assets (I'll probably not be supporting models, since there are issues with FBX import, at least not for the moment), namely being able to let users make their own mods
Its not as great looking as what i saw but a weather system. Lot of awesome work on this post.
The bricks are actually one of the default materials that come with the editor (M_Brick_Cut_Stone)
Wow! Lots of awesome things here
@sds-michael : great job!!! nice footage too
Lighting Test with Basic non-tiled material and BSP Geometry.
Anyway will do one more test and then im done with the engine for a while while i work on my modeling and texturing workflow.
Edit: No Post-Processing
Last edited by Bladerskb; 09-10-2014 at 09:13 PM.
I have been working to get decent looking vegetation in Unreal Engine 4, since I have come from using Cryengine previously. Really like UE4, it has more possibilities I think.
Terrain has been neglected a little bit as I sorted out the vegetation, but now I am ready to start working on other aspects of the area.
Awesome work so far Rex!
Medieval/Fantasy asset pack for marketplace I have been working on. Mainly focusing on houses, but there is going to be other stuff in:
https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.