terransage's Forum Posts

  • I've never seen or heard of this folder before. C2 doesn't create it. That seems to a be a FrontPage folder.

    You're right, it is. I just looked it up. Later it was used by Expression Web, which I stopped using about three weeks ago. That explains why the folder's not there. So I guess it's not a Construct export problem, but a Filezilla upload problem. I'm glad you mentioned that.

  • I just noticed that the metadata folder (_vti_cnf) is now missing from my other recent exported projects--projects I exported in the last two or three weeks--but it's still present in the older ones. I'm pretty sure the files were there before, because I was able to successfully upload them to my website. I'm afraid to make any more changes in my projects until I get this resolved. Not sure what I'm getting wrong. Is that folder something that's created by Construct, or is it created by my computer during the exporting process?

  • Hello. I thought I'd post this here first, because I don't think this is a Construct bug. I wondered if anyone else has had this problem:

    Yesterday I was exporting to My Web Sites folder and uploading Construct projects to my website with no problem at all. Today I started a new project that was just a simple animated image (to be used in Pode's iframe embedded in another page). When I exported and uploaded it, it didn't show up on my website. When I checked the folder, there was only an Image folder, but no _vti_cnf Folder. After re-exporting and creating some new test projects and exporting them, the same thing happened. I even tried exporting some old projects, and they also were missing the _vti_cnf Folder.

    The reason I don't think this is a Construct bug is because I updated my Construct to the latest stable version. I even updated my computer. Still nothing. I did a search in the forums, but no one else seems to have had this problem. I thought maybe I was doing something wrong in the exporting process, so I re-read the manual and tutorials. No--I'm doing it exactly the same way I always did: Clicking "Export Project", choosing "HTML.5 Website," choosing the file I want to export to and Standard png compression, then choosing Normal style and clicking Export.

    TIA for your help!

  • I'm making a platform game (trying at least) and earlier for no reason I can think of, when I try and move the player by clicking the arrow keys (arrow is down event) he'll just keep walking the direction I pressed until he walks off the layout , dies, or I press the up arrow and he tries to jump.

    Are you previewing with the Edge browser? If you are, try it in other browsers. Edge has been giving me the same trouble, ever since a particular Windows 10 update somewhere along the way (not sure which one, but someone mentioned the "anniversary update.") It seems to be an Edge issue, in other words. People have been complaining to Microsoft about it, but I'm not sure if anyone has come up with a solution. For now I'm just waiting to see what happens and concentrating on using the other browsers. Sorry I can't be more helpful to you.

  • I haven't found much online about this problem, but it's mentioned here in the "Fixed Bug" section as a problem with the Edge browser and that it should be reported directly to Microsoft. One or two people reported it to MS, but nothing's been resolved, as far as I can see. I was wondering if anyone else here has been having this problem and if they found a workaround? Probably just have to wait for MS to resolve it....

  • Just wanted to say how much I love Spriter. I haven't downloaded the upgrade yet, but I've never had a single problem with my version, and it has greatly enhanced my work. Thanks!! Look forward to the upgrade.

  • Yes, I'm having the exact same problem with Edge: Whether I use default control for the 8-direction behavior or "simulated 8-direction" control, my sprite will stand still for a moment, then move and not stop when I release the mouse button. Also, its animated movements continue for a few seconds before shutting off, even if I use a variable to toggle it off or deactivate the Group that its Events are a part of. In Firefox and Chrome it works fine.....

    I just remembered that there's a Scirra blog post about Edge, I think. I'll read it now to see if anything about this is mentioned there.

    Forgot to mention that I'm also using Windows 10.

  • s3rg385 That's a great way to do 3D editing with the 2D editor! I'm interested to see where you go with it.

    My workaround for 3D editing is to set up incremental "set position" keyboard-activated movements for all six directions (increments of 1, 5 or 10) for each 3D object in the Event sheet, and then I go to the Preview window (the 3D view), press the arrow buttons, etc., to move the object around until I get it into the right space. The increments are recorded in text objects representing x, y and z. When I've got the object where I want it, I write down the coordinates from the text objects, go back to the 2D editor, and change the object's coordinates accordingly. I used this also for having a character reach for an object and touch it precisely with his hand. So far it's worked pretty well.

    I'd like to combine that technique with the one you came up with, to speed things up. Thanks for the information! (Unfortunately, I'm not with my Construct 2 right now, so I couldn't work on the problem you have--making the walls solid. I was able to do it before, but that was using a different view orientation from yours (with y as the vertical axis, z as depth, x as width).

  • purplemonkey:

    Very nice scene! I really like the atmosphere--fog, clouds, use of color. It drew me in right away.

  • , I did some experimenting with my object-carrying character and swapping that character with the original character--and it worked. But now I'm writing a mini-tutorial for that process, including the Event Sheet steps for swapping between characters. And that may take a little while. It's not exactly what you're looking to do (altering the appearance of the Q3D monsters while preserving their animations), but it might give you some clues about how to do it. Unfortunately, it's approaching my bedtime, so I'll have to continue the tutorial tomorrow.

    I will say this for now: I was wrong about parenting an object to the vertices of the morph-animated model in Blender and exporting that to Q3D. That's because such hierarchies can't be exported to a .json file. Instead, I went through a little more involved process of joining the character and the carried object as one model, manually rotating and positioning the object into the character's hand in each and every pose of the timeline, and then recording the keyframes. It's a little more work than originally intended, but it works! Anyway, I'll try to finish the mini-tutorial as soon as possible.

    I have to learn not to announce things before I'm 100% sure how to really do it....

  • [quote:ih0cwitz]@gamecorpstudio wrote:

    wait so we can use the monster morph animation tutorial, characters that is already from q3d, just swap the model ? and keep the same animation of movement!? i mean bones or what contains?! just change the shape of model basically?! that will be so awesome, cause it solves most of problems, just wold need to have a same size character, and then bam new characters every time!

    Well, sort of. I think you could do what you're thinking, as long as you use the same rigged model as the base for all of the morph-animated characters. But you would have to use the same number of vertices--just shift them around while still having them attached to the same bones containing the same rigged animations that you would share between different versions of that model. I've never altered a model after rigging it, so I'm not even sure how that would be done (although I have added objects to the model after it has been morph-animated; and that's information that I'm going to put in the tutorial above). For re-shaping a rigged character, I think you would either have to use Shape Keys to shift the vertices around, or you could detach the bones from the vertices, shift the vertices around to create the new character, add a new material/texture, then re-parent the model to the bones, creating vertex groups, etc. That way the character would look different, but it would be animated the same.

    The process I was talking about in my "edit" above is a way to resolve the problem of the morph-animated character carrying things in his hands, since an object can't be parented to a hand bone (because there aren't any bones). To test whether or not that could be done, I went back to my morph-animated character in Blender, added a cylinder to the scene, re-sized, rotated and positioned it in the character's hand, selected first the object and then the character, shifted to Edit Mode, selected three adjacent vertices in the character's hand--close to the cylinder--and pressed Control+P to parent the object to the vertices. Then I played the walk cycle and, sure enough, the cylinder moved (and rotated correctly) with the hand, as if he was really carrying it. At first I made the mistake of parenting the cylinder to a single vertex. It followed the hand when the character walked, but it refused to rotate. Parenting to three vertices "locks" the object into place, correcting the rotation problem.

    The only thing I haven't tested, yet, is whether or not I can now join the object to the model, to make them one model--and still have the morph animation work the same way for the whole model. I just realized that (*gulp*). It seems that hierarchies that aren't armatures can't be exported in .json files. I forgot about that.

    After I'm done writing this, I'll have to experiment with that. And I might have to put the tutorial on hold....

    As for "swapping" out the two versions of the character model, I haven't yet tested it with the model carrying the cylinder. But I did swap between the original model and a duplicate, triggering it with a key press. I was pretty surprised by how seamless it was! I had to use a few conditions/actions in the Event Sheet, juggle a few Euler angles to get the new model to face in exactly the same direction as the first. All of that, I'll mention in my edit to the tutorial--exactly what actions I used.

    You mentioned a character that is already in Q3D. Are you talking about the monsters created by QuaziGNRLnose? If you wanted to swap bodies with one of those creatures, you'd have to match one of their start or end poses as closely as possible, have one character end its animation cycle in a pose that begins the animation cycle of the second character, in order to make it look as natural as possible. In Unity, when a character dies, you can swap it out for a "ragdoll" version of the same character, matching each of its bones--position and rotation--with the bones of the destroyed character. Are you thinking of taking one of those Q3D monsters into Blender and altering its shape/texture? Because they're morph-animated (I think), you would have to capture their alterations with Shape Keys in every pose of the animation. Or maybe I'm not understanding your question?

    Anyway, I realized I have a lot more experimenting to do before I can add to the tutorial....

  • Thanks, I'm glad to hear that the animation frames don't have to be re-numbered. My copy-and-paste way of adding new animations to a .json file works, but it takes a lot of patience. I guess putting all of the animations in a single timeline is the way to go,

    As for the characters carrying things, I considered the idea of animating an object to follow the character's hand, but I wasn't sure how to pull that off, especially with the 2D editor.

    I also thought about creating cloned versions of the same character with objects "modeled" into their hands, and somehow switch the characters at the moment the original character reaches for and touches something. The pose, position and angle that the original character is in at the end of the reaching animation would have to exactly match the starting pose, position and angle of the "spawned," object-carrying character. Or that character could already be there, but invisible. I've done something like that in Unity, instantiating model clones and destroying or hiding the original. Of course, the object-carrying model would have to be re-rigged and re-morphed, with the model and the object it's carrying joined as one. (Sorry, I'm kind of thinking out loud....)

    Edit: I think I've got the "character-carrying-things" that I mentioned in the last paragraph figured out. I discovered that it's easy to "model" an object into an already morph-animated model, export and import that model into Q3D without having to redo the animations, and then use the Construct 2 Event Sheets to seamlessly replace the original model reaching for an object. Once I've got it worked out 100%, I'll add it to the tutorial above.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You're welcome, Lordshiva1948 and ! I just hope my tips don't cause your computers to explode.....

  • : I put up the little tutorial in your Q3D Tips and Tricks post. The only part that's not too detailed is how to do the multiple animations within the single .json file. I kind of glossed over it, partly because it's past my bedtime, but also because my way of doing it is tedious and a little complicated. I'm still trying to find a better way to do it, but I did mention how I do it now in broad terms. Anyway, here's the tutorial:

  • Hello, all!

    Some people complained that morph animations were very hard to do, so I thought I'd share a way to create morph animations from rigged ones that I sort of stumbled upon during my searches through forums and tutorials. I didn't actually find tutorials on how to do this whole process--just bits and pieces of information that I pasted together and experimented with. So this is my own way of doing it, and it's somewhat rough. Anyone who knows how to do it better, please correct me if you want! If this is already common knowledge, then this might come in handy for people new to Blender.

    I tried to do a walk cycle without using a rig--just manipulating the vertices--and I realized that it would take one hundred years for me to do it. Then I had the thought that maybe I could somehow capture rigged poses with Blender's shape keys and paste them into an animation timeline. Sure enough, it's possible, but there are a few tricks to doing it fairly fast and well. And there's also the question of how to do multiple morph animations in a single .json file, add more animations to the same file as you need them, and rename them as separate animations so that they can be called and tweened in Q3D. I might talk about how to do that in another post, because I'm still trying to figure out how to simplify that process. I've been able to do it so far, mostly by copying and pasting animations from one .json file into another, but it's a tedious and sometimes confusing process. For now I'll just concentrate on a single morph animation, with a suggestion for how to do multiple ones in a single file later in this post.

    It turns out that the morph animations run pretty smoothly and well in Q3D and, as QuaziGNRLnose has said, they are less costly for the hard drive to handle. So far it's working so well that I've decided to make my scenes as boneless as possible.

    Here's how to do it:

    1. First create your model, rig and skeletal animation as you normally would.

    2. Save your original skeletal anim file (you wouldn't want to lose it) and do a "save as" to create a separate morph animation file using the same model.

    3. While you're in Object Mode, count the number of poses in your animation cycle (not including the first pose), select both the model and its skeleton, and use shift + D to duplicate the model that many times. If your last pose is the same as the first--as in a walk cycle--don't count the last one either. For instance, if you have nine poses in your walk cycle, create 7 clones of the model. In the case of the walk cycle I just mentioned, you should now have 8 identical models. Place them in a row, next to each other, from left to right. You're going to be using the first model (the one you cloned from) as the final, boneless, morph animation model, while you're going to use the other models for capturing each pose and transferring the pose to the first model. It's important that you keep that model in its original centered spot. I made the mistake of using one of the cloned models as the final one (not centered in the Blender 3D view), and the exported version was off-center in Q3D.

    4. Start with your first (original) model. We'll call this model 1. Select model 1 (not its skeleton) in Object Mode and set the timeline to the first frame, the first pose. This pose will be the Shape Key "basis" for all of the shape keys that you will create. Once the model is in this pose, open the Modifier window (click the wrench icon in the Properties window), and the first thing you will see is the Armature Modifier. Click Apply to capture the first pose, and the Armature Modifier disappears.

    5. While still in Object Mode, select model 1's skeleton (only) and then switch to Edit Mode. Press X to delete the bones.

    6. Now we're going to create model 1's first Shape Key: Switch back to Object Mode and select model 1. Open the Data window by clicking the vertex triangle icon (next to the wrench). Scroll down to the Shape Key section and click the plus sign (the add button) to create the first Shape Key, which is named "Basis" by default.

    7. Now proceed to the second model in line. This model will represent and capture the second pose in the timeline, and will be used to transfer that pose--as a Shape Key--to model 1. Select model 2 (not its skeleton) in Object Mode and set the timeline to the second pose. As you did in #4 above, open the Modifier window and apply the the Armature Modifier.

    8. Repeat what you did in #5 to delete the bones of model 2.

    9. Repeat what you did in #6 to create model 2's first Shape Key, which will also be named "Basis." You don't have to change the name of this key.

    10. Keeping model 2 selected in Object Mode, select model 1. In model 1's Shape Key window, click the dark triangle button underneath the add and subtract buttons. (I think you can also press W) to bring up the Specials list. Select "Join as Shapes." This will automatically transfer model 2's Shape Key to model 1. You don't have to rename this key either.

    You can test whether or not the transfer worked by selecting only model 1 and switching to Edit Mode. Click on the Basis key and the new key, and you should see the model switch from pose to pose. You can also switch to Object Mode and use the "value" slider underneath the Shape Keys to shift from 0 to 1, to see model 1 morph from the basis pose to the second pose. 0 always references the basis pose, while 1 references the target pose for that particular Shape Key.

    11. Repeat #'s 7 through 10 for each of the models, capturing each pose as they're arranged on the timeline and transferring each, as Shape Keys, to model 1. Test each Shape Key, just in case.

    12. Once you're finished with all the models, delete all of them except for model 1.

    13, Switch from Action Editor to Shape Key Editor. Create and name a new animation by clicking the add button in the field next to "summary." You will see that the timeline is divided into one channel per pose, not including the first pose (or the last pose, if it's the same as the first). Why the first (or last) pose wasn't included confused me at first, but the reason became clear after I stumbled through the recording process--as you will also see in the next step:

    14. To record the first pose, the Basis, set the timeline at frame 1, set all of the channels at 0, click Key, select Insert Keyframes, and select All Channels. Setting 0 in all channels is exactly the same as setting and recording the first pose--which is why a first pose channel is unnecessary. If the last pose is the same as the first, repeat this process for the last frame of your animation.

    15. For the second pose, set the timeline at whatever the next frame is going to be, set channel 1 at 1, and set all of the other channels at 0. Record the keyframes for all channels as you did in #14. For the third pose, move the timeline to the next frame, set only channel 2 at 1 and all the others at 0. Record. For the fourth pose, move the timeline to the next frame, set only channel 3 at 1 and all the others at 0. Do this for all of the poses (except, of course, for the last pose if it's the same as the first).

    16. Make sure that you save often as you go through this process, and save the model when its animation is finished. Now you can export the model, choosing the three.js exporter (File>Export>Three.js). Here's how I set up the export page. I don't exactly know if this part is correct, but it works in Q3D:

    I checked Vertices, Faces, Normals, UVs (but not bones or skinning)

    I checked FaceMaterials and Vertex Colors.

    I checked Morph Animation and kept Skeletal Animations off

    I'm not sure if it's necessary, but I checked Frame Index As Time and Embed Animation

    I didn't check any of the Scene boxes.

    For Settings, I checked Textures and Copy Textures, and I kept Enable Precision checked.

    Within your Construct 2 project, import the .json file into your Files file in the Projects window. Double-click the newly imported .json to open it in Notepad or Wordpad (or whatever program it opens into) and change the name of your animation to what you want by doing the following. I use Notepad, so I'm not sure how this is done in Wordpad:

    1. Click Edit>Replace. In the Find What field, enter "animation_". In the Replace With field, enter "walk" or whatever name you choose. Then click "Replace All."

    4. Save the file.

    That's it! The animation is renamed.

    For multiple animations in a single file, so far I have created separate .json files of the same model with single animations in each of them. I just renamed and copied the animation part of each file and pasted it into the original model/morph animation file within Construct 2. That sounds straightforward enough, but it's somewhat tedious, because the files are so large. It's a little tricky selecting such a large portion of the script, because you have to know where the animation portion begins and ends. I marked the beginning and end of that section by creating a large gap between it and the rest of the script.

    What I haven't tried yet is to place all of the morph animations on a single timeline. That would work, I think, but you'd have to know where each animation begins and ends, and go through a more complex renaming process. Also, I'm not sure if each separate animation has to begin with the 000000 frame or not???

    Then there's something I just started exploring (but haven't figured out yet), and that's how to parent objects to this boneless mesh so that you can have your character carry things, wear helmets, etc. I know that in Blender you can attach a single bone to a single vertex while still preserving the morph animation--and I was able to do that--but I don't know if it's possible to parent an object to that bone. Is that hierarchy preserved in the .json file? I remember QuaziGNRLnose mentioning something about that somewhere--I think....

    Another thing I wondered about is the huge .json file size. Does that hurt the game's performance? Is skeletal animation the better choice? I know that QuaziGNRLnose said that skeletal animation is more costly to performance, but is that still true in version 2.4?

    Thanks for reading!