QuaziGNRLnose's Recent Forum Activity

  • GameThirsty

    You can choose the x,y,z axis to be whatever you want. It's easier to make X and Y the floor so that you can lay out the map top down in the construct editor, and can use behaviors to move around the floor.

  • it's gonna be easier with the helper functions in the new plugin, but you're essentially right. Position the camera at the sprites x,y position with some z offset above what you make the floor plane for the "height" every tick, and then move the sprite around however you'd like. Using custom movement makes it easy to implement strafe etc. cause you can accelerate things at angles.

  • I'm in the end stages of working on it, but it's still not ready. I've been working on it as much as I can, but it's complicated and i don't want to release something buggy / poorly made.

  • I've put together a little example that i made using the new plugins in the update in 14 events. It demonstrates the spatial hashing system used for collisions, object parenting actions, and serves as a neat little benchmark for how collisions are managed for moving objects testing against N moving objects. Click to spawn a bunch of boxes. The button in the bottom corner shows visually the sparse spatial hash being built/modified as objects move around.

    Link

  • GameThirsty, yes exactly, you'd set the position of some player positions head. An easy way to do it would be to use the custom movement plugin and layout a map in the layout editor. perhaps make a topic in the how do i section on the forum instead of posting here, so people wont have to go through 40 pages to find out how to do it. you'd want to move the player at the planar angle of the camera when the forward/backwards keys are pressed, and 90 degrees to the planar angle of the camera when the left/right keys are pressed. It'd probably be easiest to make the X-Y plane your floor.

  • The ept_section property flag isn't in the list of flags for SDK section on properties, so i missed it completely until now. It should be added so people know about it as it's a useful feature for organizing things.

  • GameThirsty

    You should be rotating the camera based on how much the mouse has moved. You'll run into a problem with the mouse hitting the edge of the screen however, so you'll need the MouseLock Plugin by TiAm : MouseLock Plugin

    then fill out the expressions like so and thats it !

    you can replace the /2 with *0.5 or any sensitivity scaling value to control the sensitivity of your fps controls. oh and thats meant to work for a game where the floor is the x-z plane and the positive y axis is down. The way you set things up initially is important. Also its a good idea to clamp the value or the camera can over rotate and things get flipped. That should get you started though.

  • GameThirsty

    first person view has always been possible. You have to control the camera position/rotation, there's not much more to it than that, its not the type of thing that would be part of an update. place the camera where your characters head would be and make it look towards the point you want to look towards.

  • thanks I missed that!

  • Sorry to revive this thread, but I need to do something similar to destroy objects in hierarchies, is simply calling onDestroy() the recommended way to destroy instances from a reference?

    EDIT: found out about runtime.DestroyInstance() reading the sdk, seems to be what i was looking for.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I haven't played around with the SOL that much and some things are confusing me a bit since they're not heavily documented.

    I'm trying to implement an action which has an object param. What i want to do is be able to loop through all the instances picked by the conditions in the event, this is as basic as it gets i'd imagine. What i'm not sure about is that i can't just take

    type.getCurrentSol().instances and loop through the array, because sometimes the list of instances is empty. I'm not really sure what "sol.select_all" does, other than it's true under the basic condition that there are no conditions filtering the type in question, and false if there are conditions filtering the type. I don't know if there's more to "sol.select_all" and the few sentences in the SDK aren't helping me out with more than understanding how it works in basic cases. Also i don't know if theres anything special i have to do to make containers and or/else and inverted conditions work properly. The documentation in the sdk is rather scarce/vague on this topic and i can't find very many examples of actions using the sol within the standard plugins.

    I just wanna be on the safe side since my plugin is quite large and small bugs in small features get left behind or missed easily if i don't try my best to implement things robustly from the start.

    my current code is:

    	Acts.prototype.ObjAddChild = function (childtype)
    	{
    	
    		var sol = childtype.getCurrentSol();
    		var i, leni , inst;
    		
    		if(sol.select_all) inst = sol.type.instances;
    		else inst = sol.instances;
    		
    		for (i = 0, leni = inst.length; i < leni; i++)
    		{
    		
    			this.obj.add(inst[i].obj);
    
    		};
    
    	};[/code:29k00w53]
  • ziziplanet Check the main post, there are three examples to get you started. The rest of the plugin functions very similarly to three.js itself, so reading the documentation http://threejs.org/docs/ can be very helpful. Also make sure to read the descriptions for each action, condition and expression as they provide insight into how things work.

    KZR The current version doesn't integrate into the editor, but i have an update I'm putting the final touches on that integrates much more streamlined into the workflow construct users are used to, and will be much more efficient to use since it implements optimized recycling routines and has a built in spatial hash accelerated 3D collision testing system.

    To those of you waiting on the update: I've gotten basic collisions finalized and object recycling finalized. I've gotten 400 models of suzanne the monkey (pictured below) to display at 60 fps on my 1.8 ghz laptop with integrated graphics, so performance is quite good, and objects create and destroy without garbage collection hiccups. I've also implemented a system for controlling textures using constructs animation system, which even allows for animated textures! Next on my todo list is general optimizations and extra features to accelerate objects which are static, or share properties with other objects. I also need to add support for more file types. Once this is done a 3D sprite object should come soon after, and then possibly 3D model animations using skeletal rigging, of course before i get into doing more i'll release the Q3DObject update i've been promising for so long. Thank you for the patience everyone, i hope i can get it out soon!

    (this is suzanne to give you an idea of the benchmark I did)

QuaziGNRLnose's avatar

QuaziGNRLnose

Member since 2 Aug, 2008

Twitter
QuaziGNRLnose has 5 followers

Trophy Case

  • 16-Year Club
  • Email Verified

Progress

17/44
How to earn trophies