Search Unity

.LVL File

Discussion in 'Editor & General Support' started by JasonMistyCool, Jul 17, 2016.

  1. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    Hello,
    I wanted to know how to import a .lvl file into unity.
     
  2. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    What is it from?
     
  3. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    A discontinued game.
    It also has .luz files. Bump
     
  4. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    It's virtually impossible to tell without knowing the game or what tool it was built in. It's most likely a custom format. (its pretty common to use .lvl for custom level formats) The extension alone isn't enough to tell. Open it in a text editor, and see if it it there is anything to help. If you are lucky it will be a ascii format, then it'll be easy to parse. If binary, it would be trickier. Unlikely that there is a direct importer, you would need to convert first to something Unity can use and import that.
     
  5. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    It was used in Gamebryo engine. What I got out ofit putting it into a notepad?Well here is one of the files out of many. http://pastebin.com/nSB9CzjG
    There were [NULL]tags inbetween the spaces. How would I convert it?

    ALSO: The game was LEGO Universe but we are getting permission from the LEGO company to rebuild thegame in a open source/free game matter so please do not say its not possible because its copyrighted.
     
  6. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    Bump... Need answers quick guys please
     
  7. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    Ah, I am pretty familiar with LU. I was a dedicated player from alpha to the night it shut down, and had two friends on the engineering team. (the building and logic portion). I would be surprised if you get permission, but they do allow some use, considering some of the content is from ldraw. But that is up to you.

    However, much of the way those file work are referential, you can see this in the code you pasted. IIRC, internally the models even used ldr files as base. What this means is that a .lvl is pretty much going to be useless to you with the entire infrastructure. The level will reference other parts and scripts, and models. Those models will reference brick definitions, and so forth. There is literally not enough information in those files to build something without a) the source code and b) the all the support files and code. You can see in the file, there are references to template, primitives and other ids. You would need to know what file that id was associated to and the file and a way to parse it. It was easy enough to pull basic models out of the game using ldraw/ldview and display them in bricksmith or ldd, but that was because it was the same format (or at least readable), and the brick ids referenced the ldraw brick ids.

    Basically, there is no simple way to do what you are trying to do without the game source code. It can be done, with a lot of work, but not well. Think of it like this, If I handed you a Unity scene file, and you were using a different engine, it would be almost completely useless. You don't have the prefabs or the mesh, materials and everything that makes it up. there just isn't a way to convert it.

    I would also note, that the raw source (.dat files and such) that LU uses isn't very optimized and difficult to get performing well. I was working on my own Lego type project, and ended up having to create my own system and build all the bricks from scratch. (though I was targeting mobile).

    https://dl.dropboxusercontent.com/u/28107/unity/Video/Stroids.mp4

     
  8. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    So no? I have all .lvl datas. That one copy and paste is just one of many in the one world. I have the .nifs from the monument from AG and I have it collisioned. Any .lvl exports or whatever i can try and use?
     
  9. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    None that I know of. The lvl data is specific to that game. You would have to know how the engine implements them to convert them. People have pulled models and stuff, but I don't of anyone who has converted to the game specific files.
     
  10. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,038
    The level data file looks like a variation of IFF 85[1] with UTF-16 text, but in true IFF fashion it's just references to real data (and some settings), just like @zombiegorilla says.

    [1]IFF is normally pretty simple - chunk identifier, size, that amount of data, then next chunk, aligned on whole word boundaries. In modern use it's typically aligned on 4-byte blocks. "CHNK" is a generic chunk which they didn't bother to create a unique identifier for, but 4-byte IDs aren't usually very helpful anyway. Look for the EA IFF 85 specification if you want to dig deeper and verify it's something like it.
     
    zombiegorilla likes this.
  11. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    Where would i find something like that? I dont manually code c++ or anything
     
  12. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,038
    If you search for it on the web this document is usually the first thing to show up :)

    C++ was 2 years old back then, and basically an experimental language for weirdos ;)
     
  13. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    to make it easier, i know you guys said no exporter will work,but can I atleast try one? just send a link of a lvl exporter and ill try it.
     
  14. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    It's not that they don't work, it's that none exist to my knowledge. You can parse the data out, but it is useless to unity. You would have reverse engineer the entire data model and create conversions for the data.
     
  15. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,038
    I don't know how the development process for Gamebryo works, but I get the impression that all users modify the engine so much that you can only tell from the presence of NIFs. For instance, there's practically no similarities between the data in Dark Age of Camelot and Morrowind.

    DAoC has no links in the client data to indicate relation between maps, and the map data is pure geometry, but the files are all single files using the regular file system. Morrowind has its own custom map system and editor, a custom script language, and a virtual filesystem wrapping the data files. I think Empire Earth 2 uses comma-separated data files and Lua for its data and scripting.
     
    zombiegorilla likes this.
  16. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    I'm not familiar with any other Gamebryo games, but I know for LU for the models (collection of arranged bricks), they utilized/converted the .ldr format so they could use standard Lego/brick building tools LDD / Bricksmith to generate the models. That file format uses brick/sub-brick element ids/colors. In those other apps they point to a .dat file that defines the geo of the brick. But in-game they aren't using that same geo, they created their own and referenced it by id. I think it would be nearly impossible to make use of the data without the engine source. Possibly model conversion, but that is a standard open format.
     
  17. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,038
    Yeah, so Gamebryo looks more like an SDK than an engine the way people use it.
     
  18. JasonMistyCool

    JasonMistyCool

    Joined:
    Jul 17, 2016
    Posts:
    9
    S
    Sois it not possible for me to do it basically without some extreme work?
     
  19. BFS-Kyle

    BFS-Kyle

    Joined:
    Jun 12, 2013
    Posts:
    883
    Making a game will involve some "extreme work" - figuring out how to process or import a custom file is just one small part of a huge list of challenges you will have to go through to make a complete game, especially with the size / complexity of a game like LEGO Universe.