Jump to content

VeTaL

Members
  • Posts

    1,272
  • Joined

  • Last visited

Everything posted by VeTaL

  1. Something like SetGlobalShaderVariableVec3("WindSpeed", Vec3(5, 0, 10)).
  2. I'm also interested in this.
  3. as i already mentioned here, this problem is because of LOD changing and bbox movements
  4. Ragdoll troubles This post is connected with: Soamp's post about yellow boxes http://www.leadwerks.com/werkspace/topic/3186-blue-and-yellow-boxes/page__pid__29304#entry29304 Marleys Ghost's post about LODs management http://www.leadwerks.com/werkspace/topic/3129-freeentity/page__p__28720__fromsearch__1#entry28720 I wrote this post in some hours, so this is quite serious work. All tests are done with the LESoldierEntityAndGame entity with updated LUA-script with prototype of ragdoll But lets start from the very begining: 1) What is the yellow box, which is stretching from (0,0,0) ? 2) how to force updating bounding box to the size of the model in current frame? Enemy is dead, but its bbox is still standing as bbox of the first frame (the yellow bboxes are annoying, but thie refers to 1 question) 3) LOD and animation While trying to animate only current LOD Animate(self.model, ((AppTime()+self.timeOffset)/1000.0) * class.NTSC_FPS, blend, self.currentAnim-1, 1) the animation will reset while LOD changing. (When camera if flying closer, the LOD is changes, and animation resets) So, its needed to animate all LODs of the model: for childId = 1, self.lodCount do local child = self.lods[childId] Animate(child, --self.model, ((AppTime()+self.timeOffset)/1000.0) * class.NTSC_FPS, blend, self.currentAnim-1, 1) end 4) Number of LODs Try to add into function object:updateAnimation() next code: AppLog("CountChildren = "..CountChildren(self.model)) Result (distance is some abstract value, just for beign clean): when you're close to solider (distance is 1), it shows 4 when the distance is 2, it shows 3 (but this is the number of LODs, its supposed to be a constant!) when the distance is 5, it shows it shows 2 when the distance is more that 10, it shows 1 when the distance is again closer than 10, its still 1 [!!!] when the diastance is less then 5, its 1 and finally, if we get closer to the mode, it shows that th number of childern is still 1 [wth?] 4.1) As LODs are lost - we can try to remember them. (but this is looking like hack: i dont think that Josh wanted programer to use LOD in this way) --count and remember lods for childId = 1, CountChildren(model) do local child = GetChild(model, childId) if child:GetClass() == ENTITY_MESH then object.lodCount = object.lodCount + 1 object.lods[object.lodCount] = child end end In this case, i kill solider: and get this unholy thing: So, LODs are moving somewhere, idk where. Physics debug: moment of "death": LOD changing after death: Onr more screenshot without physic debug: 4.2) Okay, now we can try to reset position of LODs after LOD changing. for childId = 1, self.lodCount do local child = self.lods[childId] PositionEntity(child, EntityPosition(self.model, 1), 1) RotateEntity(child, EntityRotation(self.model, 1), 1) UpdateMesh(child) end And we will see the next thing: right after death, there is a huge lag (about 2 seconds), because of updating LODs position. Now there are no artifacts like before, BUT: As we are close enough, we can see this: Yellow box is sratching somewhere As we step back, here is wat you see: what is bad in this? Only invisibility of the body: + 2 sec lag during death Without debug: Step back: 5) Problem with ball joints. They are not work properly, so i was needed to use hinge joint, which is not good. (see attach) 5.1) SetJointCollisionMode doesnt work at all 5.2) SetBallJointLimits doesnt work at all 5.3) joint:SetLimits doesnt work at all PS: i'm too tired, if its needed to upload this report by parts to bugtracker - please, so it somebody else. PPS: i forgot about one more 6) I can't drag created ragdoll body with mouse+shift, but i can drug oildrum. Test_Ragdoll 2011-05-14 (ball join doesnt work).zip
  5. er... and where is old forum? my links dont works
  6. It is realised, with automatic multithreading
  7. [small offtopic] btw, is it possible to login to old forum for searching from this or similar account? [/small offtopic]
  8. I think, you just can try to set lods distances closer... Well, what about perfomance - i dont know: you should run through all zombies and check their visibility and distance to player, or maybe have something like a stack to hold closest zombies... Try your methid - its interesting for me also, if this can give you a boost. PS: also, you can try to change lod distanced dynamically, depenngind on the number of zombies shown on the screen (no need to cacculate closest ones)
  9. Have exaclty the same problems with disappearing of animated entities.
  10. Looking like yellow box is bounding box for compound objects.. but i have no idea, why the corner of yellow box is always connected to (0,0,0). Blue box is really bounding box, but here i also meet some problems: its not updated for physical bodies. [wait a little, i'll make some tests as this problem is actual and i'll update this post] Lum, just try to: create new level, add terrain, add 3 oildrums one on the other, turn on bounding boxes debug and shoot the top oildrum. It would fall, but yellow box would be still started from (0,0,0)
  11. Here are some questions from my 3d artist: * can i use Shapes, Helpers for animation. Can i make Animation Setup or i can only move bones and IK? * are there any video tutorials with importing animated model to Leadwerks? * are there any more stricts on bones in animation in our engine? The problem is solved, please, delete this thread )))
  12. I know that Question was to Josh, as he wants to hide multithreading from programmer and make automatically loader of static meshes.
  13. Ahh, my brains Anyway, how can i load dynamic objects then without pauses in main loop?
  14. Well, i just wanted to say that only automatic way is not good: sometimes programmers would like to control world streaming by themselves. If a player would fall down through still-not-loaded-model, its programmer's headache: - he can say to load models earlier - he can make a function, which would check if a new location is loaded (if location is still loading, show splashscreen "Loading") - he can use your automatic mode ^^ and doesn't load models manually at all. Just make some triggers and load animated models while event is rising. And this leads again to the beginning: what if programmer want to load animated model of enemy without stopping main loop? (Rick, for example, and me, of course )
  15. That would be nice, but don't make this only automatic, it would be as bad as automatic garbage collector. I'd prefer to control, which models to load in background in certain moment of time. Sounds not good, really. What if i have a lot of dynamic objects? Lets rollback to the past: some time ago i had an idea of something like LoadModel(name, parent, thread = false) - if i want to load model in main thread, i set this to false, if i would like to load in another thread( independent from main loop), i just set this to true. Another idea is a separate function LoadModelBackground(name, parent) - and this works like singleton: when i first ask LoadModelBackground("barrel"), i got null and model goes to list for loading. If i call it twice (or more), it just returns null and model is still in that list. In one moment of time, it returns pointer and thats it. Pay attention that those solution dont allow to user to work with threads, they just load models separately from main loop.
  16. no, it has This list is quite old, and isn't updated for as long time - just try to download demos and see yourself. I worked with Newton car physics in about 2009 - in that time there were 2 types of vehicles: multibody and raycast.
  17. If i remember correct, in 2.30 there were normal image drawing. In current version, images are mirrored - i spent about a week having sex with MyGUI and imgui (from Chris's project). In both GUI's i have the same problems: i cant see rendered GUI images (in better case, i can see text: http://leadwerks.com/werkspace/index.php/topic/3100-mygui-and-leadwerks/page__gopid__28676#entry28676). About working with imgui (which MUST works with LE as it can be seen on his video): Code for panel creation: imguiBeginScrollArea("Debug", x, y, w, h, &debugScroll); Chris's settings for debug panel: x = 814, y = 10, w = 200, h = 768 (they are counted by his formula for my monitor) Result: (sorry for posting this video again, just want to be clear. panel is in the right-down corner) But i can see nothing on the screen with his settings. My settings for that panel: x = 940, y = 77, w = -879, h = 642 Result: Conclusion: some sh*t is going on with rendering panels in LE. Now they are mirrored vertical (my w is negative), detecting this leads to enormous loss of my time
  18. I think that some physic libs may be used as different projects can be created on LE 3: some projects can require more fast physics, others - more accurate. I'd recommend to look on something like that: http://www.adrianboeing.com/pal/index.html#intro
  19. Ah, ok.. bad idea to use them for debug
  20. I just wanted to see if i can use coronas to debug vertex/bones positions in a model. TLight lamp = CreatePointLight(); TCorona corona = CreateCorona(lamp); MoveEntity(lamp, EntityPosition(rightToe)); PositionEntity(corona, EntityPosition(lamp)); SetCoronaRadius(corona, 1, 5); PaintEntity(corona, LoadMaterial("abstract::flare1.mat")); Now i can see light, but i cant see corona... strange things are happen
  21. Thanks for help, but those two links are dated to 13-23 January 2010, but i remember that he uploaded another version somewhere about december 2010: - "Creation date: 21.12.2010"
  22. I'm trying to make this code works in LE 2.42 just to test it, but can see nothing TCorona corona = CreateCorona(model); SetCoronaRadius(corona, 10, 20); PaintEntity(corona, LoadMaterial("abstract::flare1.mat")); Also, this example also show me nothing http://leadwerks.com/werkspace/index.php/topic/1158-billboards/page__view__findpost__p__10683 log: Loading material "d:/ik/ikdemo/assets/models/environment/corona/flare1.mat"... Loading texture "d:/ik/ikdemo/assets/models/environment/corona/flare1.dds"... Loading shader "zip::/ik/ikdemo/shaders.pak//corona.vert", "zip::/ik/ikdemo/shaders.pak//corona.frag"... Loading shader "zip::/ik/ikdemo/shaders.pak//guide.vert", "zip::/ik/ikdemo/shaders.pak//editor/guide.frag"... Loading shader "zip::/ik/ikdemo/shaders.pak//terrain/terrain.vert", "zip::/ik/ikdemo/shaders.pak//terrain/terrain.frag"... Loading texture "incbin::noise.dds"...
  23. Does anybody have a last version of Chris Paulson's IK ? Looking like its dated about 21.12.2010, so it isnt in site's database
×
×
  • Create New...