Jump to content

blueapples

Members
  • Posts

    85
  • Joined

  • Last visited

Posts posted by blueapples

  1. Main reason I'd be interested in C++ is for performance to do stuff like a new object streaming system I have in mind that would create and remove objects dynamically (picking up edits to objects and saving them out to a database before unloading them). Not sure if Lua as glue would cause too much of a delay, it might work, but would be ideal for it to be a native interface.

    Either way sounds very exciting, can't wait to get my hands on v5.

  2. That would be epic. I was wondering if there's a possibility for the same thing in C++ maybe? Like, load the project's custom code as a DLL into the editor and allow for extensions that could add really basic interface elements such as a custom sidebar panel, then create / manipulate world objects. I want to stick with Leadwerks and if I can develop my own systems by creating editor extensions in C++ that would go a long way towards making it an even more long lasting platform. Same thing is Lua would be a really great start though.

  3. Yeah I am aware of that as an option for custom assets prior to import, but as far as I can tell there isn't a way to do that for files that have already been imported or come from with the engine or an add-on pack, correct? It would be really nice if this were an option that could be tweaked in the vegetation settings for each item and a setting to have it randomly vary by some amount, it would really add a lot of visual variety without requiring more assets to be imported for each variation of depth a rock is pushed into the ground, for instance.

    • Like 2
  4. I am having a hard time finding a way to tweak the way that vegetation objects appear, specifically I am hoping to push them into the ground a bit to improve their appearance a bit. Right now roots are very visible on trees and rocks rest unnaturally on top of the terrain rather than appear partly into the terrain surface. Is there a way to do this that I'm missing? Ideally I'd like a method that can work on mld files. I know with fbx source files I can edit the models and this would probably solve my problem but I'm trying not to change my source models too much unless I'm rebuilding them.

    Any help is appreciated.

  5. Yeah I looked in there and there are basically no references to how to modify the color or distribution of stars, etc. There are a lot of equations but basically no explanation of what they do... Maybe you are looking at a different version?

  6. Yeah I think what happens is that the window got pushed off screen somehow. So it was opening but not visible.

     

    The same thing happened to me with the sidebar / assets browser. It's possible to resize it so small you can't resize it back out again. Clearing the cfg file resets the UI and works around these issues fortunately!

     

    I now have a ZIP'd backup of my cfg file to restore in case it happens again.

  7. I'm getting this message every time I try to launch my game after moving the project to a new machine:

     

    ---------------------------
    Leadwerks Editor
    ---------------------------
    Project is out-of-date.  Do you want to update the project before running it?
    ---------------------------
    Yes   No   Cancel   
    ---------------------------

     

    If I select Yes, Leadwerks goes back to the Project Manager screen immediately. I reopen the project and it says the same message if I try to run it again.

     

    If I select No, the game appears to start up fine.

     

    What's up?

  8. The traditional way to solve infinite recursion problem in dump/copy routines (which are basically the same thing) is to keep a list of seen objects and pass it to each nested call, similar to this copy function:

     

    function copy(obj, seen)
     if type(obj) ~= 'table' then return obj end
     if seen and seen[obj] then return seen[obj] end
     local s = seen or {}
     local res = setmetatable({}, getmetatable(obj))
     s[obj] = res
     for k, v in pairs(obj) do res[copy(k, s)] = copy(v, s) end
     return res
    end
    

     

    Obviously instead of returning an already seen object you would return something like "Recursion <Object ID>". In combination with a searchable debug sidebar the user could then find that object wherever it first showed up in the tree.

     

    Using this method there does not need to be a depth limit.

  9. Yeah all I am really asking for is a couple options on each vegetation item that allow us to specify the range.

     

    Seems like art direction should be up to whoever is making the game, if the tree size is inconsistent that's the developer's problem. The engine isn't supposed to just be a game maker with all predefined presets right?

     

    This would be less painful for me if the limit on the number of vegetation items was higher.

  10. Thanks for all the ideas everyone! Very helpful.

     

    Recalculating the normal maps definitely seem like something I need to do, but so far ShaderMap doesn't seem to be compatible with an iClone character (with separate materials for each part) that's been put through UU3D's PolyReduce command. PolyReduce seems to move everything to a single mesh which causes ShaderMap to produce a giant normal map for the whole model rather than one for each separate subset.

     

    Any other tools that might work better to do either the poly reduction or normal recalculation?

     

    Is there a feature in Leadworks I'm missing that might help with LOD management or do I just need to do it myself in script?

     

    As far as the level design aspects go, I've definitely been thinking about breaking things up more. I wish that the terrain counted for occlusion.

     

    Overall I'm hoping that as I fill in the map with more zones and buildings that things will sort of be a wash and I can at least stick to 30 FPS when a lot of stuff is occluded and not being rendered. Ideally I would get this up to 60 FPS with these characters looking good as a baseline.

×
×
  • Create New...