-
Contributor
[WIP] WoWEdit FanEdition
Greetings,
I figured I'd write a thread here to expose my current project to more people for feedback.
You may have seen my previous thread from a few years ago where I was working on a machinima tool. Well, a months ago I decided to restart it into a new project, on which I've been working each day.
I wasn't happy with the performance at all so I took some of the code I had written before and started to create a new and improved project, which I am naming WoWEdit FanEdition because I wish to implement most of the features available in the original software.
The main purpose of this software is to help machinima artists, but since I will be saving the project files in the original wow formats, it may be used for creating custom maps as well sometime, perhaps.
I've been working on streaming data live so far, loading content as you travel through the world. Here is a demo of the terrain so far, using a wow-like LoD system which I will explain later throughout the post.
Github: GitHub - CucFlavius/wowedit_unity: An attempt at recreating the World of Warcraft Editor used by Blizzard Entertainment to create the environments for the game. My version's purpose is for the aiding of creating machinima / Creating custom environments using WoW's assets / exporting models etc. (Unity 5.6.1f1 Project)
Playlist of WIP videos: WoWEdit Progress - YouTube
WMO's are a work in progress, I can load them, and while they load instantly on older maps, such as Cataclysm and Mists, they take foreeever to load on WoD,Legion,BfA maps due to the insane amount that they added. So that definitely needs improving first.
I'll follow with more info, and some of my deep analysis of the WoW client and WoWEdit
Last edited by Flavius; 03-20-2018 at 09:33 PM.
-
Post Thanks / Like - 3 Thanks
-
Contributor
-
Post Thanks / Like - 1 Thanks
Dovah (1 members gave Thanks to Flavius for this useful post)
-
Contributor
A look into how WoW renders terrain.
Using 3D Ripper DX, I took the mesh and texture data that is sent to the video card and imported it into 3DS Max to get a better look on how it's handled.
I'll start with the WoD approach, which is what I'm currently using in my software. The snapshots I've taken were at High settings (not Ultra)
With the Warlords expansion, they've introduced a completely new LoD system that exponentially increases performance, allowing greater view distances to be achieved.
The main factor being the Maptextures, which from what I noticed, will reduce terrain draw calls from 7000 to 500, as an example.
While the mesh itself only has 2 LoD states in the WoD client, the terrain material has 3.
I've drawn over this image, showing the 3 material states based on distance from camera. (or shader if you will)
Low - indicating untextured terrain drawn in the distance, with a single low resolution mesh per block.
Medium - high density meshes made out of 2 by 2 chunks, using the baked maptextures. One maptexture will be used by a whole block, combining all its meshes into one draw call.
High - high density meshes, and the layered terrain shader. They use a bit of draw call batching by atlassing adjacent alpha maps, up to ~8, based on the tile textures order.
The Medium and High LoD's can be observed better in this image:
Blue indicating the layered textures material, and yellow indicating the prebaked maptextures.
You can also see the layered chunks as they are batched together with adjacent ones (Blue).
The blue meshes material appears this way because I didn't take the time to rewrite the shader into 3DS max just for this study.
But the data was there to confirm what that was:
-
Contributor
I also discovered how the skybox is handled.
This is the Skybox Model, introduced in mists, not the procedural one that is behind it.
The textured skybox model appears to be loaded at the camera position and inherits its movement, while the shader draws it behind everything else, and in front of the parametric sky color.
Which is the same method I will be approaching.
-
It looks amazing and incomprehensible =)
-
Member
I really like the UI. More buttons to push and the Blizzlike resemblance.
This project is really interesting, it looks really great. I would love to edit maps with this tool
Keep up the good work!