PDA

View Full Version : How to make 3D movement?



ZNBJ
10-17-2014, 12:10 PM
I'm not in the beta, so I'm not entirely sure how these tools work. So my question for those who are in the beta is this: how would you make 3D movements with sackboy? :)

Lady_Luck__777
10-17-2014, 12:18 PM
Moved to Everything Else.

Chdonga
10-17-2014, 12:18 PM
I believe it's a simple method of using the character rotator and advanced in-out mover. I'll be installing beta soon, so I can give you a more accurate description as soon as I set it up.

Mark3y_man
10-17-2014, 12:19 PM
I wish I could get in the beta to test 3d movement out

Chdonga
10-17-2014, 12:40 PM
While you may not be able to test it, have this (https://www.youtube.com/watch?v=2R7MS9_FRrA&list=UUINDowCmObC56pOuvLQGJPQ&index=3) footage to hold you over.

amiel445566
10-18-2014, 12:31 AM
Theres the AMAZING in and out mover

has all of the inputs of a piston, forwards, backwards, positional, etc

so you can move smoothly through layers, just mix this with some inputs from sackboy, and you have a working layer mover

VeryCoolMeLBP
10-18-2014, 09:47 PM
It's kinda complicated... you have to use Character Rotation Tweakers, Advanced In and Out Tweakers, and State Sensors.

Ryuhza
10-19-2014, 12:12 AM
It's kinda complicated... you have to use Character Rotation Tweakers, Advanced In and Out Tweakers, and State Sensors.

Swap out Rotation tweakers with the Character Animation tweaker (which has rotation settings, if I'm not mistaken), and you've got it. Still not that difficult compared to a lot of other logic designs.

koltonaugust
10-20-2014, 07:39 AM
There's a great chip giveaway that has been MM picked so I'm sure it will be very easily incorporated. The chip still could have some improvements on the ease of input side but it does the movement thing very well! It's a lot more complicated if you want better feeling moving from what I see in the chip but most of it seems to be animations.

Ryuhza
10-20-2014, 08:24 AM
3D movement is proving to be a lot harder to make work than I said :S

Mostly it's getting rotation to work the way I'd like that's proving difficult. I tried checking out the MM picked 3D movement level's tools, but I can't quite understand what he did to make it work properly. I'm trying to leave it freeform by using a character rotation tweaker, but Sackboy keeps rotating clockwise, even just to turn right (meaning he spins in a circle to turn right).

Devious_Oatmeal
10-20-2014, 09:58 AM
I don't have the beta, but I've seen some videos on the 3D stuff, and I am curious...

Would this work?

http://i.gyazo.com/702df1bb595fa091daf0b06a062246d9.png

http://i.gyazo.com/df5aabf554413ecbb1c2f1fe627b7097.pngNew

Rogar
10-20-2014, 10:08 AM
The character rotation tweaker works like a motor bolt. If you set it to positional, your input is translated into an angle of 0-360 degrees. The simplest way to get such an angle from an analog stick input pair is to use a joystick rotator and a pair of angle sensors, but it's still complicated, and you get an extra piece outside of your sackbot so it's impossible to make a character out of it. I think I give away the tech in my OddSoccer level.

The advantage of using a separate character rotator is that you have acurate angles and only need to have 1 character animator for each walking speed. I hope we'll have an easier way to translate the analog stick to an angle in the final game.


Edit: Sniped. That would almost work, except the joystick rotator needs to be on a separate piece of invisible material or your player will rotate along with the analog stick, and you need to combine 2 angle sensors at a 90 degree angle to differentiate the left from the right side.

Devious_Oatmeal
10-20-2014, 10:24 AM
Edit: Sniped. That would almost work, except the joystick rotator needs to be on a separate piece of invisible material or your player will rotate along with the analog stick, and you need to combine 2 angle sensors at a 90 degree angle to differentiate the left from the right side.

lol Didn't see your edit after I posted the edit of my post. I messed with it to where the rotation would be on the sackbot- directly linked. The brown spot represented the invisible layer and the connection to the bot would be whichever turns the character around on the Z axis. Hard to troubleshoot without hands-on stuffs.

In order to apply it to a player, you just use a controllinator/movinator and a broadcast chip. I don't know the difference between the movinators.

Ryuhza
10-20-2014, 05:22 PM
I don't have the beta, but I've seen some videos on the 3D stuff, and I am curious...

Would this work?

http://i.gyazo.com/702df1bb595fa091daf0b06a062246d9.png

http://i.gyazo.com/df5aabf554413ecbb1c2f1fe627b7097.pngNew


Yeah, I think so. At least for the most part. My thoughts were sort of gravitating towards that end by the time I quit playing last night. I think I've been over-thinking this, trying to keep everything within the microchip.

Lady_Luck__777
10-20-2014, 10:27 PM
Moved to new Help section.

Ryuhza
10-21-2014, 02:38 AM
That's it, I give up. I've spent the whole day trying to build logic around that stupid character rotation tweaker and I'm not getting anywhere. My head is so warped and I haven't added anything to my level in two days. I'm just going to use a simpler form of 8-directional rotation, and hope that someone else cracks this nut.

amiel445566
10-21-2014, 03:03 AM
That's it, I give up. I've spent the whole day trying to build logic around that stupid character rotation tweaker and I'm not getting anywhere. My head is so warped and I haven't added anything to my level in two days. I'm just going to use a simpler form of 8-directional rotation, and hope that someone else cracks this nut.

the rotation tweaker... is kind of broken, the positional is absolute, so you need lots of NOT's and COMPARORS, and other magic lbp trickery in order to make it function (needed this to make correct animation turning when making my dynamic water) it's more complex than it should be

Ryuhza
10-21-2014, 03:11 AM
the rotation tweaker... is kind of broken, the positional is absolute, so you need lots of NOT's and COMPARORS, and other magic lbp trickery in order to make it function (needed this to make correct animation turning when making my dynamic water) it's more complex than it should be

Yeah, no doubt. I got to a point where I could sort of theorize how to make it work in my head, but the steps to get there were too much for me to keep focused on without melting into a gooey mess of gelatinous brain substance. It could use a lot of work. And I think that the rotation option for the Animation Tweaker is in need of a speed setting.

Razortehkill
10-21-2014, 03:17 AM
http://youtu.be/IPOacH3XVkE

Devious_Oatmeal
10-21-2014, 05:30 AM
http://youtu.be/IPOacH3XVkE

I thought this was the most obvious way, but it lacks the full 360 degree rotation which is what we want.

The 8-directional is fine, but trying to go for the much better full-directional is the real challenge.

amiel445566
10-21-2014, 06:31 AM
I thought this was the most obvious way, but it lacks the full 360 degree rotation which is what we want.

The 8-directional is fine, but trying to go for the much better full-directional is the real challenge.

The way I did it was


WHEN SIGNAL IS (+) then use default input to positional rotation
WHEN SIGNAL IS (-) then use the NOT variant of the signal into the positional rotation

this way, even when the input is |INPUT|, it still functions correctly, it worked perfectly in my level

Ryuhza
10-21-2014, 06:40 AM
The way I did it was


WHEN SIGNAL IS (+) then use default input to positional rotation
WHEN SIGNAL IS (-) then use the NOT variant of the signal into the positional rotation

this way, even when the input is |INPUT|, it still functions correctly, it worked perfectly in my level

I must spend too much time playing with logic all by myself, 'cause I didn't get a word of that. :S

amiel445566
10-21-2014, 07:09 AM
I must spend too much time playing with logic all by myself, 'cause I didn't get a word of that. :S

haha its basically saying, if its + go forwards and if its - go backwards

Devious_Oatmeal
10-21-2014, 07:15 AM
I must spend too much time playing with logic all by myself, 'cause I didn't get a word of that. :S

Before it didn't bug me that I didn't have the beta, but the more I start asking things and seeing things like what Amiel just said (Which require specific knowledge on the numbers that are available), it makes troubleshooting a bugger and annoying.

I assume from what Amiel said, he used directional splitters (or there is a way to define the + and - naturally on the logic) to determine when the directions on the joystick were in the corresponding directions on the Character Rotation Tweaker.

Like on a graph, how you have -2,3. (Which is going 'Northwest'' on a graph) OR, something like 6,-4. (Which is going 'Southeast' on a graph)

Ryuhza
10-21-2014, 08:06 AM
haha its basically saying, if its + go forwards and if its - go backwards

Yeah, but what tool are you using to generate your signals? How are you translating it from movement on the joystick to + & - signals? I was trying to use a joystick rotator and angle sensor today, but that wasn't giving my the kind of output I wanted.

GribbleGrunger
10-21-2014, 10:51 AM
Yeah, but what tool are you using to generate your signals? How are you translating it from movement on the joystick to + & - signals? I was trying to use a joystick rotator and angle sensor today, but that wasn't giving my the kind of output I wanted.

Check out Alex's giveaways and take a look at them. I got more confused when I did but you might have more luck.

Rogar
10-21-2014, 12:34 PM
I think Alexio's giveaway does the any-direction-rotation by merging two of 8 directions, so that's still one route to go. If you want to see a joystick rotator + angle sensor setup, you can get one at the scoreboard in my OddSoccer beta level.

fluxlasers
10-21-2014, 06:23 PM
The technique I used for creating the full rotation that relates to the direction the joystick is pushed used a piece of sticker material with a joystick rotator and some other logic to convert the output from angle sensors so that they work with the Character Rotator.

The rotation value/angle on the Character Rotator is given by an analogue signal between 0% and 100%.

0% = 0 degrees
25% = 90 degrees
50% = 180 degrees
100% = 360 degrees

So to produce 360 degree rotation you need to input a ramp wave. The easiest way to produce this is to use a timer that resets itself.

If an angle sensor (set to 360 degrees) rotates 360 degrees then the output will be a triangle wave, which doesn't work with the Character Rotator.

By using a combination of angle sensors (and a bit of signal processing) it is possible for the logic on the piece of sticker material to give the correct analog value so that when it's connected to a character rotator the character will rotate the same as the piece of sticker material. For the first 180 degrees you use a rotation sensor set to 360 degrees and multiply it by 50% (divide by 2), this will give you the first half of the "ramp" (0% to 50%). The second half of the "ramp" is achieved by using another rotation sensor set to 360 degrees, but this output is multiplied by 50% and then added to 50% (so it goes up from 50% to 100%).

Maybe the released version of the game will have a tool that will make this job much easier? ;-)

Ryuhza
10-21-2014, 06:58 PM
Check out Alex's giveaways and take a look at them. I got more confused when I did but you might have more luck.

I did that two days ago. I understood some of it, but he was using the rotation on character animation tweakers, which isn't what I'm trying to do. Plus, I didn't quite understand why he was using certain number values in his batteries and as his rotational angles. So I kind of got more confused there too.


The technique I used for creating the full rotation that relates to the direction the joystick is pushed used a piece of sticker material with a joystick rotator and some other logic to convert the output from angle sensors so that they work with the Character Rotator.

The rotation value/angle on the Character Rotator is given by an analogue signal between 0% and 100%.

0% = 0 degrees
25% = 90 degrees
50% = 180 degrees
100% = 360 degrees

So to produce 360 degree rotation you need to input a ramp wave. The easiest way to produce this is to use a timer that resets itself.

If an angle sensor (set to 360 degrees) rotates 360 degrees then the output will be a triangle wave, which doesn't work with the Character Rotator.

By using a combination of angle sensors (and a bit of signal processing) it is possible for the logic on the piece of sticker material to give the correct analog value so that when it's connected to a character rotator the character will rotate the same as the piece of sticker material. For the first 180 degrees you use a rotation sensor set to 360 degrees and multiply it by 50% (divide by 2), this will give you the first half of the "ramp" (0% to 50%). The second half of the "ramp" is achieved by using another rotation sensor set to 360 degrees, but this output is multiplied by 50% and then added to 50% (so it goes up from 50% to 100%).

Maybe the released version of the game will have a tool that will make this job much easier? ;-)

That sounds a lot like what I was attempting to do the other day, but I kept on getting mixed up or having some other sorts of issues. I think the angle sensor at 360 degrees didn't jibe well with positional settings, because it would fluctuate between -100 and 100 rather than 0 and 100, and using a 50% battery to reduce that just lowered the range to -50 and 50. I might be misremembering, but I think that's what the issue was. I'll try to follow your method closely though and see where that gets me.

GribbleGrunger
10-21-2014, 10:28 PM
I did that two days ago. I understood some of it, but he was using the rotation on character animation tweakers, which isn't what I'm trying to do. Plus, I didn't quite understand why he was using certain number values in his batteries and as his rotational angles. So I kind of got more confused there too.

I'm not very good with logic but that one completely stumped me too. Perhaps it effects how fast it transitions between the different animations?

amiel445566
10-22-2014, 04:19 AM
ok, let me try to be not... confusing

what my logic does to avoid this absolute issue of positionality is

if you are going in the positive direction (+25%, +75% etc) then the value ISNT changed at all
BUT if you have a NEGATIVE value, it NOT's the value as long as there IS a value (25% = 75%, 40% = 60%, 0% = 0%)

this just makes sure that if you put in a negative value, it goes in the reverse when you go positionally with a negative value (because -25 and +25 should not be the same)

oh and by the way, joystick values ALREADY come with + and - signals, seems like a lot of people don't know much about LBP's analog system, but it is very helpful

ZNBJ
10-24-2014, 01:29 PM
Swap out Rotation tweakers with the Character Animation tweaker (which has rotation settings, if I'm not mistaken), and you've got it. Still not that difficult compared to a lot of other logic designs.

Lol he's in the beta, he knows what he's talking about :p

Ryuhza
10-25-2014, 10:23 PM
Lol he's in the beta, he knows what he's talking about :p

Uh, so am I. I've since gone back on that statement anyway. The animation tweaker alone isn't the way to go unless you're only aiming to have 8-way run movement, or unless you don't mind doing a ton of work and having very big microchips for every animation.

amiel445566
10-25-2014, 11:09 PM
Uh, so am I. I've since gone back on that statement anyway. The animation tweaker alone isn't the way to go unless you're only aiming to have 8-way run movement, or unless you don't mind doing a ton of work and having very big microchips for every animation.

actually its not that difficult, since there is a positional setting in the rotation tweaker

but the most difficult part is making it rotate the way you want, but it still isn't incredibly difficult

GribbleGrunger
10-26-2014, 06:14 PM
actually its not that difficult, since there is a positional setting in the rotation tweaker

but the most difficult part is making it rotate the way you want, but it still isn't incredibly difficult

It's statements like this that make me feel stupid. I need to be told this is complicated ...

amiel445566
10-26-2014, 09:19 PM
I need to be told this is complicated ...

this is complicated :)

Ryuhza
10-30-2014, 01:32 AM
actually its not that difficult, since there is a positional setting in the rotation tweaker

but the most difficult part is making it rotate the way you want, but it still isn't incredibly difficult

Poking through the tools again, I think I might have been using the rotation sensor (as opposed to the angle sensor) by accident. Or... vice versa.

Devious_Oatmeal
10-30-2014, 05:51 AM
Poking through the tools again, I think I might have been using the rotation sensor (as opposed to the angle sensor) by accident. Or... vice versa.

An honest mistake. Do tell of your findings if it was the case!

GribbleGrunger
10-30-2014, 08:28 PM
The broadcasting chip is going to change everything in LBP3. I recently got Alex's 3D V04 and thought I'd give it a go. I was worried it would take me some time to set it up. I took out a broadcasting chip, plonked the 3D movement logic on it and set it to sackboy ... DONE! I can't believe how simple it is.

Devious_Oatmeal
10-30-2014, 09:40 PM
The broadcasting chip is going to change everything in LBP3. I recently got Alex's 3D V04 and thought I'd give it a go. I was worried it would take me some time to set it up. I took out a broadcasting chip, plonked the 3D movement logic on it and set it to sackboy ... DONE! I can't believe how simple it is.

It's a very very useful tool.

amiel445566
10-31-2014, 02:16 AM
It's a very very useful tool.

I thought it would use some kind of function compression, or just recurse from the original chip, but sadly it is just linear thermo, its a big let-down

Devious_Oatmeal
10-31-2014, 11:24 PM
I thought it would use some kind of function compression, or just recurse from the original chip, but sadly it is just linear thermo, its a big let-down

Yeah. It could be much better, but what it does is good. Just not great.

It just makes the repetition of using the same logic less repetitious and a little less tedious. And it lets you give players the logic you could put into Sackbots.



There should be an option on the tag (That the broadcast chip's logic was sent to) into a microchip itself.

- Option in tag
"Change to Microchip"

Rogar
11-01-2014, 12:29 AM
And what is that option supposed to do? If you want to turn off receiving the broadcast chip you can just turn off the tag.

Devious_Oatmeal
11-02-2014, 01:42 AM
It changes the tag into a chip with the logic that was broadcasted, now on that chip.

fluxlasers
11-18-2014, 06:17 PM
There is a new tweak option on the Direction Combiner called "Angle-ify" that does the complicated calculations (arctanY/X) which converts the X/Y displacement of the joystick to an angle for the Character Rotation Tweaker. Apologies for getting mathematical.

From a practical viewpoint; all you now need to do is connect the Left/Right output of the stick to the "positive" port on the Direction Combiner and connect the Up/Down output of the stick to the "negative" port. Now connect the output of the Direction Combiner to the input of a Character Rotation Tweaker.

When you move the stick the Character will face the direction that the stick is pointing. This will make the logic for 3D movement much simpler.

Rogar
11-19-2014, 10:15 AM
Yes!! Thanks for listening, Sumo! :D

TEENWULF
12-05-2014, 06:47 PM
Erm, I did this but my sackbot is facing the wrong way when stood still. He's facing away from me rather than towards. Any suggestions?

Rovelius
12-05-2014, 10:09 PM
Did you set the character rotator to positional input?

TEENWULF
12-05-2014, 10:35 PM
Yep, did that

one-mad-bunny
12-06-2014, 01:39 AM
Do you have a value input in the yaw of the character rotator? I'll bet if you have 180 entered it would reverse the characters facing . For the positional setting I think you want a value of 0.

Edit: ok wow. This was working for me, then it started doing the same thing. I worked around it by turning on a -50% battery with a "not gate" from the left stick. I don't think the yaw speed matters..

- - - - - - - - - -

Ok, the yaw speed doesn't seem matter. I had this working and when I adjusted the speed I got the same facing problem as teen wolf. No changes to the settings, inverting out puts or values would correct it. I had to rig up a -50% battery with a not gate to send a canceling signal to the character rotator. For some reason when I wasn't touching the left stick the signal combiner was still out putting a 50% signal. Once I canceled that out it worked fine again.... Weird.

TEENWULF
12-06-2014, 06:23 AM
What exactly did you do?

one-mad-bunny
12-06-2014, 11:47 AM
I took both outputs of the left stick and plugged them into an"or" gate. The"or" gate I wired to a "not" gate And the animation tweaker. I put a negative 50% battery on a microchip and plugged the output of the"not" gate into the microchip input/activate. Then I placed two signal combiners. The first one set to angle-ify and the second to combine inputs. The angle-ify combiner I wired up just life before with the inputs coming directly from the left stick, but the out put I plugged into the second combiners positive input. I plugged the battery onto the negative. Then I ran this second combiner to the rotation tweaker.

How it works: when the left stick is being used the angle output signal goes to the rotator. When the left stick is not being used the battery turns on and the signal goes through a little math (50 -50=0) and that is sent to the rotator. 0% faces the serene 50% faces away..
http://i0.lbp.me/img/ft/8f0a401b23f0a6957df54f75e698a5703a3503d0.jpg

CLC4life
12-06-2014, 05:14 PM
I tried this logic, it doesn't seem to have a smooth layer transition or rotate the character in a natural manner. I wonder if I did something wrong.

TEENWULF
12-06-2014, 05:44 PM
Yeah I just tried it and im having the same problems as CLC4life

one-mad-bunny
12-06-2014, 10:54 PM
I have my in/out mover set to a speed of 4 for sackboy and I made it faster for odd sock. I have the animation tweaker set to not override character facing, the input set to speed scale, and I selected medium walk for the animation.
I think the facing and layer change are very smooth. The only issue I don't have a fix for yet is the jumping. Since it is possible for the player to push the x button when they are between layers so sometimes the jump won't happen.
Hope this helps.

TEENWULF
12-07-2014, 05:55 AM
He's still tending to jump back the first layer from standing still and then "slides" over layers instead of "running" over them

zupaton
12-07-2014, 07:11 AM
Regarding the layer change problems... Check this therad as well guys.
http://www.lbpcentral.com/forums/showthread.php?93070-Project-Fluid-360%B0-(Advanced-3D-Movement)-Create-TRUE-3D-Platformers&p=1200929&viewfull=1#post1200929

SBG gives a hint for the layer lock issue and the topic creator gives away chips on his level that might either help you or confuse if you are a step by step creator like me. :D

EDIT: Sorry for forgeting earlier... Additionaly a gameplay tweaker preventing manual and automatic layer change might need to applied on the broadcast chip.

razk
12-07-2014, 11:54 AM
I tried using one-mad-bunny's rotation logic, but if you slightly hold the analogue stick in any direction (except left) the character faces the wrong way while moving.

Devious_Oatmeal
12-07-2014, 12:05 PM
I tried using one-mad-bunny's rotation logic, but if you slightly hold the analogue stick in any direction (except left) the character faces the wrong way while moving.

You probably have the inputs on the Combiner in the wrong spots.

fluxlasers
12-07-2014, 12:35 PM
I've found a pretty simple way to solve the rotation problem, i.e. where sackboy faces the back when there is no input.

Attach the Up/Down output of the stick to an OR gate (set to ADD) and connect a battery (Set to -1%) to the other input of the OR gate, then connect the output of the OR gate into the Direction Combiner.

Now when there is no output from the stick there will be a -1% signal going into the direction Combiner which will output 50% - making your sackboy face forward.

This seems to work fine even when there is slight movement from the stick.

one-mad-bunny
12-07-2014, 05:59 PM
I've found a pretty simple way to solve the rotation problem, i.e. where sackboy faces the back when there is no input.

Attach the Up/Down output of the stick to an OR gate (set to ADD) and connect a battery (Set to -1%) to the other input of the OR gate, then connect the output of the OR gate into the Direction Combiner.

Now when there is no output from the stick there will be a -1% signal going into the direction Combiner which will output 50% - making your sackboy face forward.

This seems to work fine even when there is slight movement from the stick.

Nice work that works real nice! Much better than my fix. I didn't realize the slight pressure on the left stick messed up the facing.

Any ideas on jumping logic? There needs to be an impact sensor to stop the walking animation. But the big thing is getting the jump to work every time the x button is pushed.

fluxlasers
12-07-2014, 06:42 PM
You can use the game's jump physics for the jump height (provided your horizontal movement isn't controlled by a Mover set to 100%), but you may want to dampen the directional control to match the air steering.

Instead of using impact sensors (which could be problematic if you're close to a wall) the best solution is to use the State Sensor - set to detect Jumping for the upward motion and Falling for the downward motion.

one-mad-bunny
12-07-2014, 07:54 PM
The problem I'm having is between layer jumping. If you make some blocks to jump on and scatter them through the layers for sackboy to jump on, it feels natural to run to the front or back of the platform before jumping. But if the player does this they are no longer in the "layer lock" zone. They are actually between layers and the jump won't trigger. Since there is no way to disable player controls, as far am I know, I'm not sure how to add jump logic that will be consistent. Between layers it would work, but in normal layer the jump would multiply right?

And thanks for the state sensor tip!

fluxlasers
12-07-2014, 08:21 PM
Without seeing and analysing you logic system it's difficult for me to give you a definitive answer to your problem.

You could maybe use a broadcast chip that covers the area of the top of the platform (including one layer in from and one layer behind) so that when a player enters the zone they are pushed into the correct layer. For example, if they are in front of the platform and jump up then when they enter the broadcast chip zone they will be pushed back so they land on top of the platform.

If you find that your In/Out Movers that control sackboy's Z position interfere with the In/Out movers that push sackboy then you may have additional problems. However, I'm sure there will be a solution that works with your logic system, it just might take a bit of trial and error to find it.

razk
12-07-2014, 08:45 PM
Is there a way to make the character stay facing the direction they were last moving in, instead of flipping back to facing the screen as soon as you let go of the analogue stick?

one-mad-bunny
12-07-2014, 10:31 PM
There has to be. The first thing that comes to mind is to have a feedback loop right before the rotator, but with all these new logic tools there might be am easier way.

fluxlasers
12-07-2014, 10:54 PM
There has to be. The first thing that comes to mind is to have a feedback loop right before the rotator, but with all these new logic tools there might be am easier way.

You're right, I've just made the logic to do it. You need feedback loops to store the analog values from the stick when you detect the stick is being released.

It's a bit complicated to explain here exactly how I detect the stick being released, but you basically compare the current analog value and compare it with the value from the previous frame. If the difference is above a certain threshold limit then it stores the values in the feedback loops. Then, when it detects the stick moving again it resets and starts to use the new values.

It's still not perfect when moving at slow speed, but I think with a bit more tweaking I can get it working better.

zupaton
12-08-2014, 07:48 AM
Is there a way to make the character stay facing the direction they were last moving in, instead of flipping back to facing the screen as soon as you let go of the analogue stick?

Having a go at Flux's suggestion I ended up with this method.

http://id.lbp.me/img/ft/00dfe1e9776259790c4afd396d6243f2f40cbf23.jpg

Obviously the sequencer is set to positional and the place of the battery will define the stick's dead zone.
Some nodes are mirrored to make the circuitry easier to understand... mostly for me. lol

TEENWULF
12-08-2014, 05:33 PM
Could someone make a tutorial video for the movement please? I dont seem to be getting anywhere haha

one-mad-bunny
12-09-2014, 02:37 AM
Having a go at Flux's suggestion I ended up with this method.

http://id.lbp.me/img/ft/00dfe1e9776259790c4afd396d6243f2f40cbf23.jpg

Obviously the sequencer is set to positional and the place of the battery will define the stick's dead zone.
Some nodes are mirrored to make the circuitry easier to understand... mostly for me. lol

I like the simple solution to a complex problem. I did have facing issues though when I was running (especially left) and quickly let go of the left stick. Not sure if I had a setting wrong. So I played around with it for an hour and came up with something more and less complex at the same time. I used a signal probe and studied the signals. The sequencer wasn't fast enough to turn off. So I replaced it with an inverted not gate which solved the facing problem and made another... Now a slight pressure on the left stick wouldn't trigger the not gates so the player would move without turning. I couldn't fix both at the same time so I got rid of one problem by getting rid of slow movement by using a gameplay tweaker. I must say I am very happy with the results.

Thanks for posting that picture. It really helped me figure this out!

zupaton
12-09-2014, 08:26 AM
No problem mate. You are welcome. :)
I am not good at logic so this is why I try to find simple solutions so I can understand them later when I revisit them. lol

Funny fact. Both my joy pads are infected tending to push right by themselves so it's quite hard if not impossible to test them at fast release speeds. lol
Signal prob? I hope You know that by pushing R2 in any output gives a label with a diagram of the output itself overtime.
I'll check later if I can get somewhere just for the shake of it but probably we will need Flux's advanced frame by frame check circuitry or someone more advanced. ;)

one-mad-bunny
12-09-2014, 11:26 AM
No I didn't know that R2 trick. I knew it told material properties and such. I never tried it on a output. Thanks!
I used the probe so I could watch in real time what happened as I moved the left stick. Like I said, I'm happy with the results. I'd post a pic but there are so many tweaked settings I think it would just confuse most of us. I'll put it up though if anyone wants to see it.

zupaton
12-09-2014, 01:25 PM
Well, after figuring out that by going the traditional road, of checking the joypad's output and relying on the data it produces combined with its built in dead zone, will render any attempt to control those data too complicated for my short span memory, I thought... "why not let the darn LBP itself handle this for us?", and so I came up with the following:

http://if.lbp.me/img/ft/57fbe16c16d2b7e707888b4d271bcf3d27ca92b5.jpg

Although it's inside the pad it totally ignores any input of it and instead uses speed sensors. "Eat this Miyamoto!" lol

The GREEN sensor is speed 4 and direction left/right and obviously serves as the left/right input of pad.
The RED sensor is speed 4 and direction in/out. While obviously serves the in/out movement (up/down of pad), it's signal needs to be inverted so it can replicate the inverted up/down pad's movement. That's what the direction splitter/combiner err... combo inside the red box does. The combiner is set just to combine inputs.
The YELLOW combiner inside the white box is the usual suspect that angle-ify's inputs (thanks to fluxlasers for pointing out its purpose)
The circuit in the white box generates the signal that will be used for the character rotation
The BLUE sensor has speed 0.1 to 0.3 (higher numbers reproduce bigger dead zones but at the risk of moonwalking animation at slow speeds), direction set to all and replaces the sequencer of my previous post while the rest remain as is.
Hope this will help. :)

Rovelius
12-09-2014, 06:41 PM
The only thing that bugs me with this Anglefey-ouput option on the combiners is the complete lack of joystick deadzone. The first time I felt it was during Sumo's Yeti level. My PS3 joysticks are kinda getting old and wobbly, which made platforming a bit tedious...

fluxlasers
12-09-2014, 08:51 PM
The only thing that bugs me with this Anglefey-ouput option on the combiners is the complete lack of joystick deadzone. The first time I felt it was during Sumo's Yeti level. My PS3 joysticks are kinda getting old and wobbly, which made platforming a bit tedious...

The Yeti level was a top down level and used normal rotators to rotate the player. Direction Combiners set to "Angle-ify Inputs" are not use in that level.

one-mad-bunny
12-09-2014, 11:17 PM
While we are on the subject, why is it that a slight pressure on the left stick sends enough signal to make sackboy sneak, but not enough to trigger logic like a "not gate" while a battery set as low as 1% will activate the same logic. You know how easy this would all be if that slight signal would turn on logic like that. I know it will work on a positional sequencer, but that is too slow.

Also, about the dead zone. My fix for this was a game play tweaker. Basically I made it so the player can't move at all until enough signal comes from the left stick to trigger my "not gates" , which is a slow walk. But that walk speeds into a run and the facing works flawlessly.

The5rozos
12-10-2014, 01:08 AM
This honestly should've been included as a simple straightforward feature... Not to complain or anything, but it seems more complicated than it has to be.

Rogar
12-10-2014, 10:59 AM
While we are on the subject, why is it that a slight pressure on the left stick sends enough signal to make sackboy sneak, but not enough to trigger logic like a "not gate" while a battery set as low as 1% will activate the same logic.

That's because the not gate looks at the digital component of the signal, and the movement takes the analogue component. The stick output has a kind of deadzone in its digital output, so it won't turn on until 30% or something. You can define your own thresholds with a sequencer set to positional.

one-mad-bunny
12-10-2014, 11:22 AM
That's because the not gate looks at the digital component of the signal, and the movement takes the analogue component. The stick output has a kind of deadzone in its digital output, so it won't turn on until 30% or something. You can define your own thresholds with a sequencer set to positional.

Yes this works in some cases, but we would need the signal from the sequencer to instantly turn off, but it kind of slides off and I think the negative signals confuse it or at least they confuse me.