3doconvert problems
thisnickwasfree opened this issue · 4 comments
An error occurs if converting some models (I've found 2 or 3 per 100):
Error: 3DreamEngine/libs/utils.lua:87: stack overflow
stack traceback:
[string "boot.lua"]:777: in function '__gc'
3DreamEngine/libs/utils.lua:87: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
...
3DreamEngine/libs/utils.lua:91: in function 'copyPrimitive'
3DreamEngine/3doExport.lua:35: in function 'export3do'
3DreamEngine/loader.lua:323: in function 'loadObject'
classes/Scene.lua:297: in function 'Convert'
states/playingState.lua:19: in function 'Convert'
states/playingState.lua:35: in function 'keypressed'
main.lua:66: in function main.lua:64
[string "boot.lua"]:604: in function <[string "boot.lua"]:594>
[C]: in function 'xpcall'
I've uploaded models.zip here https://github.com/thisnickwasfree/3dreamengine_tests
This file works fine in 3DreamEngine itself, but can not be converted to 3do.
Another interesting thing (not sure yet) obj files which have particle system at *.mat file can not be correctly converted too… Well, still checking.
Another one error occurs if 3do models are presented at save directory:
Error: 3DreamEngine/loader/3do.lua:44: bad argument #2 to 'unpack' (data string too short)
stack traceback:
[string "boot.lua"]:777: in function <[string "boot.lua"]:773>
[C]: in function 'unpack'
3DreamEngine/loader/3do.lua:44: in function <3DreamEngine/loader/3do.lua:30>
3DreamEngine/loader.lua:76: in function 'loadObject'
classes/Scene.lua:297: in function 'Convert'
states/playingState.lua:19: in function 'Convert'
states/playingState.lua:35: in function 'keypressed'
main.lua:66: in function main.lua:64
[string "boot.lua"]:604: in function <[string "boot.lua"]:594>
[C]: in function 'xpcall'
Uff. The first error is a stackoverflow caused by a cycle. Should not happen, but I will add a exception for cycles. Thanks!
The second one looks like a damaged file. I can not reconstruct the error.
I'm not sure about particlesystems at all. Are they useful? I personally place particles, grass etc in blender manually anyways. But I will look into this.
I'm not sure about particlesystems at all. Are they useful?
Basically — yes. But in the situations they are useful, they drop down performance. Large grass field, for example.
I use them as placeholders generally: furry semi transparent drop works like a fire, until normal 2d sprites are ready.
So, not sure too.
The cycle (first error) appears with one or too models. may be something is wrong with them.
As for the second error.
- Try to convert several models with the firelance obj in the middle of model list.
- Get error 1.
- Remove firelance.obj.
- Start converting again.
- Get error 2.
- Remove all *.3do from save folder.
- Start converting again.
- Everything is fine.
2D sprites have been implemented since the latest bigger update.
Due to their limited and complicated usage, low performance and (as just proven) error rate I would remove those particle generator stuff. It's not even properly documented. I suggest building them manually, or using particle systems most 3D tools provide.
Thanks for the detailed step for step, I will try to track down the issue
3DO will get replaced by a slightly different approach