Home    LittleBigPlanet 2 - 3 - Vita - Karting    LittleBigPlanet 3    [LBP3] Help!!
#1

Signal Cap Workaround?

Archive: 8 posts


Alright, so I'm making a 3D level using the stationary 3D cam in LBP3. This would imply that I jump through all the hoops typically required for such an undertaking: 2 maps, each with their own coordinate capturing systems, one map is stationary with a mobile player, while the other map is mobile with a stationary player... Effective but nasty.
I wanted to do away with that bull with this new endeavor. And I have. In fact, it works great... so great that I want to go even further with it! But I've ran into a snag here and there.

I've managed to squeeze all player interactions and player/object coordinate calculations into a single 2D map.
This means that creating the illusion of turning left and/or right in an environment, by means of moving the environment itself, works without a hitch! But the "go even further" bit involves something a little more complicated... looking up and/or down.

The left/right calculations occur with sin(x) and cos(x) chips I made with a modified Maclaurin Series going up to n=5.
But the up/down bit is separate from that math... to calculate it... I need to use the pythagorean theorem!

If you remember geometry at all, you'd remember that the pythagorean theorem is "c = sqrt( a^2 + b^2 )".
I need this because it's the only way to calculate the distance from 2 points using their relative coordinates. The hang-up is the square-root bit.

I've read every scholarly article and wiki page I can find on identities and approximations, but they all have their faults. Some only approximate around 1 and higher. While others, though are relatively accurate around 0, are composed of values greater than 1.

After all of this... I need a solution to the signal cap. Or some mathematician to lend me a golden nugget. I don't want piston triangles everywhere calculating their hypotenuses.
2017-05-17 09:16:00

Author:
Bonnell7
Posts: 100


Haha, sorry Bonnell7, but my maths skills are more like...

http://www.gluongames.com/wp-content/uploads/2014/10/where-is-x-900x500.gif
2017-05-17 09:59:00

Author:
CuriousSack
Posts: 3981


First thought (and this is an ugly thought), how big are these numbers getting? Is there a way to simply divide by 2^n and then add the calculated result 2^n times? Would that be too costly?
Second thought (This is the one i would bet on) - Is there a way to keep track of how turned the environment is and use the Wave Generator to properly calculate where the move should go?
Third Thought - I would mess around with the wave generator to get a decent result, rather than a perfect result.

Just so I'm understanding, what is the looking up and down doing (it's moving the map a certain way based on how the environment is turned, right)?
2017-05-18 00:28:00

Author:
koltonaugust
Posts: 1382


Have you tried wearing the signal cap?


...No? Okay, I'll leave.
2017-05-18 05:54:00

Author:
Sir monacle
Posts: 4155


First thought (and this is an ugly thought), how big are these numbers getting? Is there a way to simply divide by 2^n and then add the calculated result 2^n times? Would that be too costly?
Second thought (This is the one i would bet on) - Is there a way to keep track of how turned the environment is and use the Wave Generator to properly calculate where the move should go?
Third Thought - I would mess around with the wave generator to get a decent result, rather than a perfect result.

Just so I'm understanding, what is the looking up and down doing (it's moving the map a certain way based on how the environment is turned, right)?

Aiight...
Firstly, here's the Wiki page I've been disecting to build a sqrt(x) chip: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots
I used other sites as well but this page is the most robust. In fact, the "A two-variable iterative method" portion is actually pretty nice. I made a representation on Desmos: https://www.desmos.com/calculator/bwfqifkrnl
And here's one for the Maclaurin/Taylor series: https://www.desmos.com/calculator/w1gfdtutq3

As far as the "Wave Generator" is concerned, it's junk.
Not just because it's timing isn't accurate, but because the positional tweak still relies on timing.
And... seeing as how the inputted data (rotating character) takes the form of a saw-tooth wave (http://mathworld.wolfram.com/SawtoothWave.html), running it through a proper sin(x) chip should yield a perfect Sine Wave (Desmos Graph (https://www.desmos.com/calculator/u6caayfhep)). But no tweaks I've found have made the "Wave Generator" work the same way.

That's why I made my sin(x) (https://www.wolframalpha.com/input/?i=maclaurin+series+sin+x) and cos(x) (https://www.wolframalpha.com/input/?i=maclaurin+series+cos+x) chips.

With values going above 100%, it's all about fractions. If the numerator is bigger than the denominator in any way, the output value is greater than 1.
This is especially troublesome in the approximations for sqrt(x) in the wiki page. Even the Maclaurin Series sin(x) approximation had values greater than 1. As I'm trying to do with the sqrt(x) bit, I managed to modify the sin(x) series to avoid large values, but it wasn't easy, and presented quite a few odd bugs (each of which I've squashed).

I'm making headway though... not towards the signal cap stuff, but towards a modified sqrt(x) approximation method that avoids large values. Would be a lot easier without that signal cap though...
2017-05-18 20:33:00

Author:
Bonnell7
Posts: 100


what kind of calculations do you want to perform on the larger value? you can create larger than 100% signals using the memorizer, score givers and score sensors, you can do subtraction and adding via subtraction, not sure about division and multiplication (lbpv and lbp3 multiplying AND gates treat larger signals differently, not sure which is which)
there are also levels the give away larger signals


Alright, so I'm making a 3D level using the stationary 3D cam in LBP3. This would imply that I jump through all the hoops typically required for such an undertaking: 2 maps, each with their own coordinate capturing systems, one map is stationary with a mobile player, while the other map is mobile with a stationary player... Effective but nasty.
I wanted to do away with that bull with this new endeavor. And I have. In fact, it works great... so great that I want to go even further with it! But I've ran into a snag here and there.


i've made a 3d system that doesn't require 2 maps a while back, any new object/room etc just requires a single tag (not unique)
https://twitter.com/evret84/status/691978158417915905
2017-05-19 12:09:00

Author:
evret
Posts: 612


what kind of calculations do you want to perform on the larger value? you can create larger than 100% signals using the memorizer, score givers and score sensors, you can do subtraction and adding via subtraction, not sure about division and multiplication (lbpv and lbp3 multiplying AND gates treat larger signals differently, not sure which is which)
there are also levels the give away larger signals

In LBP2 I made chips that (with zero-latency) could find power functions (http://ia.lbp.me/img/ft/5babecab038e28bbdac5715bdf7b0b1b8532a9fe.jpg), perform division (http://i2.lbp.me/img/ft/6b248556c89801cf8f30e546964986fdf37b91d9.jpg), and more.
With LBP3, the only way to make similar chips is to frankenstien the methods I originally used, so that no portion of their internal workings exceeds 100%. As far as preference is concerned, I'd rather not go the extra mile if I need not to.


i've made a 3d system that doesn't require 2 maps a while back, any new object/room etc just requires a single tag (not unique)

So... just placing an object and a tag (great ease-of-use for secondary creators)? I'm going to guess that you're using a broadcast microchip that links to every tag/object?
If so, I can't do the same... I need the precious data each object produces, and I can't do that with a broadcast microchip (They don't output (Or they do and I don't know about it.).).
In a way, I am using 2 maps, but only one is for data collection. The other is entirely for visuals.
My current setup is to use a 2.5D map to gather data, and export that data to rigs that simulate the 3D environment elsewhere.
This breaks the limits I've found when using materials, and paves the way for some crazy decoration manipulation.

So anyway, breaking the signal cap would be great because it makes achieving this goal easier.
(I have found a solution to the sqrt(x) problem I've had, but it wasn't as plug-&-play as I'd prefer.)
2017-05-19 20:18:00

Author:
Bonnell7
Posts: 100


So... just placing an object and a tag (great ease-of-use for secondary creators)? I'm going to guess that you're using a broadcast microchip that links to every tag/object?
If so, I can't do the same... I need the precious data each object produces, and I can't do that with a broadcast microchip (They don't output (Or they do and I don't know about it.).).
In a way, I am using 2 maps, but only one is for data collection. The other is entirely for visuals.
My current setup is to use a 2.5D map to gather data, and export that data to rigs that simulate the 3D environment elsewhere.
This breaks the limits I've found when using materials, and paves the way for some crazy decoration manipulation.


yeah broadcast chips are being used heavily in that level, and no unique output without creating a overcoplicated unique tag system that would kill thermo in most cases

the rest of my 3d levels use 2 maps, one for collisions/gameplay, the other for reproducing it visually.
some of my 3d levels use the 3d cam, the others use decorations on spinners to recreate the scene for 2 normal cams that allow you to look up and down smoothly
2017-05-20 07:33:00

Author:
evret
Posts: 612


LBPCentral Archive Statistics
Posts: 1077139    Threads: 69970    Members: 9661    Archive-Date: 2019-01-19

Datenschutz
Aus dem Archiv wurden alle persönlichen Daten wie Name, Anschrift, Email etc. - aber auch sämtliche Inhalte wie z.B. persönliche Nachrichten - entfernt.
Die Nutzung dieser Webseite erfolgt ohne Speicherung personenbezogener Daten. Es werden keinerlei Cookies, Logs, 3rd-Party-Plugins etc. verwendet.