Q3D V-2.4 [3D Physics + Skeletal Animation UPDATE]

  • QuaziGNRLnose, Ziggums

    Agreed, visualizing things in the editor is quite hard right now.

    What I've been doing is I ad to each object an animation I call "icon". In it I draw a *really* rough sketch of how the object look in 3d. It's helpful for navigating the Events sheet and such, but it doesn't help in the Layout view.

    If we had the option to use this "icon" as texture in the Layout, it wouldn't look very pretty, but we would be able to at least identify different objects.

    Or even just use it as some sort of sprite placeholder in the editor? Although that might cause problems if the object is not 1x1.

    Anyway, some improvement in that matter is something I'm really looking forward to.

  • pedroRocha

    I'll see whats possible with the sdk, but i can't make promises since for the edit-time it's really crappy and limiting. It's a shame but hopefully C3 will allow some big changes for Q3D edittime wise. Until then im going to try my best to add support for these kinds of helper features.

  • I hope C3 is not limited as we expected

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You can use any 3D editor together with C2. Set the center pivot in all objects in the center of the stage.

  • Until then im going to try my best to add support for these kinds of helper features.

    It's only a humble suggestion from one of your happy buyers, but shouldn't you focus 100% of your strength on implementing key features like skeletal animation, and not waste a single second of your precious time on low priority things like beautifying the interface? Game export is also still broken(!), and all available example projects are outdated (which is giving me loads of trouble with figuring out how to get 3D shadows to work).

    Will these issues be fixed with the release of v2.4, and will it be available before the end of April?

    I am forced to put my project on hold until then.

    You can use any 3D editor together with C2.

    Say, is that some kind of mock-up screenshot? This can't possibly be real, right?

    If it is, how on earth did you do it? How do you change the interface like that? (You guessed it. I'm not a programmer.)

    And even more importantly: How did you get your objects to cast such a pretty shadows? Care to share your capx, or parts of it, or at least your light settings?

    Because I've been fiddling around with directional lights for days now, and I just can't get them to work like that. The light only seems to work inside a certain area. (It probably has something to do with the "Shadow Cam Size / Angle" setting, but I can't figure out how to use it right.) And as soon as my character has walked a few steps he has left that area and his shadow vanishes.

  • [quote:13gnbe5b]Care to share your capx, or parts of it, or at least your light settings?

    https://drive.google.com/file/d/0B-Rseo ... sp=sharing

  • If You have a 3D editor. In C2 put the window like the picture I have.

    In the space place the 3D window of the editor. Arrange the objects as you need in 3D. ALL objects exhibit a COMMON center pivot X,Y,Z=0. Save to disk the items one by one in the format *.obj. Download objects in C2. If the object parameter: model placement = Unaltered - all of the objects positioned in the space C2.

  • Yes im definitely trying to get those features in asap. Ive been working on them since december.

    This usability feature however would take me a few minutes so its not really getting in the way. I have a few bugs to work out for skeletal animation and it should be ready (although .js engine limitations are making it pretty slow, and i haven't found a way to optimize yet).

    As for shadows, a nice trick is to move the directional light with the camera. This means the shadow volume will only clip objects that are very far. With a little bit of trickery you could even place it infront of the camera so no gpu power is wasted casting shadows you wont see. If you turn on light debug you should see a box that represents the shadow camera. It must be adjusted to determine the volume shadows are cast in. The way shadows work is that each light with shadows has a camera that renders the scene from the lights point of view (in an optimized way) and determines what surfaces are "seen" by the light. Hopefully this helps.

    If you have suggestions for new examples please share them and ill whip up examples for the 2.4 release

  • http://googledrive.com/host/0B-Rseo5BvY ... index.html

    https://drive.google.com/file/d/0B-Rseo ... sp=sharing

    You can change the light - shadows, camera, and control the player. An example for those who do not understand how light works and the camera.

  • smebor

    Thank you very much for your help. To be honest, I didn't really expect that you would upload anything at all. Game creators are usually so afraid of getting their work stolen and all that.

    3Dplatformer2.capx is exactly what I hoped for. The light moves with the player, but with an offset. The light direction stays the same, even when the player jumps. The borders of the shadow cam are never seen. I believe this is the best sun simulation that we will ever get for Q3D.

    QuaziGNRLnose

    Thanks for your reply. I hope asap means really soon. I'm dying to see skeletal animation implemented. Those morph animations are a nightmare to use.

    As for example file suggestions, I believe smebor's platformer project is a real treasure chest. All that is missing are on-screen explanations to know which button does what without having to look at the event sheet. But even without that it would be a worthy addition.

  • Id still recommend using morph animation if you can. Its implemented in hardware so instead of getting slowdown with 14 skeletons, you can have a hundred animated objects. The cost of skeletal animation is much higher since its got to search for the next position of each object.

  • Perhaps morph animation in obj?

  • Id still recommend using morph animation if you can.

    If it's really that much of a difference performance-wise, I guess morph animations would be fine, too. I finally figured out how to get them to work, too.

    I do have two more questions on morph animations though:

    1) If we want to export a blender object with more than one animation, do we have to put all the animations in a row in blender's dope sheet? Because the exporter doesn't seem to understand blender's convenient "actions" system. (Unity does. )

    2) No matter what I do, the blender three.js exporter names the animation frames animation_0000001, animation_000002 and so on. Do we really have to rename them by hand afterwards in the json file? Is there no way to let the exporter know which frame belongs to which animation?

    PS: Are skeletal animations really as useless as you're making them sound? Will they even visibly slow down the game if you're playing on PC via NW.js, or just on weaker mobile systems?

  • As things stand it's been pretty difficult to get them optimized, and this has been delaying their release. The way they're implemented currently in three.js is less than ideal for some purposes and it's not trivial to change it. They're not useless, just the number being used at once should be limited, the number of bones kept to a minimum, etc. I leave this up to the developer but it makes skeletal animation more difficult to apply than morph animations, the game programmer has to control when and where to use them carefully, and when to initialize/deinitialize models. The reason they're expensive is that one "skeleton" is actually made of many hierarchic objects, say 30 bones, so it's as if you have 30 extra objects per skeleton. On top of that animation incurs an overhead and search structure to find how and where to tween, and to calculate the quaternion interpolations. Right now i have it so that it also creates construct object "bones" so that you can manipulate those with events/pick them/test for collisions etc. again this makes using the system easy, but also makes it slower. Morph animations are just static frames shoved into the gpu. It can render them incredibly fast so they're a bit more appropriate for a Javascript game where CPU use should be kept for doing game logic.

    I really do try to optimize things as much as possible but sometimes it's a very difficult trade off between doing that and making the system easy to use. I do my best to try and optimize things.

    The exporter is really dumb, I didn't write it. Eventually i hope to make some pull requests and add useful functionality. For now you'll have to manually rename. These things tend to change with time since three.js is an open source project, and I try to stay within a version or two of the releases.

    smebor

    obj format dont support anything like that, they're pretty much model data only.

  • QuaziGNRLnose

    I see. I'll try and stick with morph animation for now then. It does sound a lot more attractive now.

    The exporter is really dumb

    didn't want to put it like that, but yeah...

    I didn't write it.

    es, I was aware of that. I did some googling and noticed that other people have already been trying to apply fixes to the exporter regarding its ability to recognize blender actions. If I find an interesting inofficial build somewhere, I'll be sure to post it here.

    EDIT: Nope, there's one multi action exporter and it didn't seem to work with blender 2.74. Too bad.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)