Get Position Set to a Tag, What's happening?
-
@Aidan-Oxley
Given your propensity for maths...
How do I take an incoming stream of numbers between the ranges of -20 to +20, and always output a number of 100 for values between -10 and +10, but scale that output downwards for numbers between -10 to -20, and 10 to 20?
Here's the tricky part, without using a conditional, only math.
I believe this is called "flooring", but I could have that wrong, as google isn't helping me.
Nor is it my friend.
-
@Deeeds The average of those 9 values is 118, 12
I’ll look at what you said after that in a while. -
@Aidan-Oxley So to be absolutely clear,
Get Position on a Tag iterates over all members of a tag.
Right?
-
@Deeeds Get Position on a tag will get the average position of ALL objects in that tag. Unless you’re using something like a for each loop running over the top of the Get Position, in that case it will get the position of each one I would expect, all in a super short time due to how loops work. You can also use Collided with tag over the top of Get Position of tag, in that case it will get the position of the object it collided with.
But once more, if the Get Position behaviour has nothing like this above it, it will just get the average position of everything in the tag. -
@Deeeds With what you said about your values between -20 and +20, I can’t imagine any way possible without having at least two separate conditions, one being that the value is between - and + 10, and the other condition for if that condition is not met.
-
@Deeeds Here you go have an example project:
http://bit.ly/2Ajwrnx -
@Aidan-Oxley The reason I'm asking:
I think this is poor design.
It is my opinion the For Loop Operating on a Tag should output three things, not two.
As of now the loops output their Index and their Count.
The For Each Loop should also output Each.
So the output choices would be:
Index, Count, Each
Then you can, quite logically and naturally, do this:
Get Position Each:
Get Rotation Each:
Set Rotation Each:
Makes a lot more sense than repurposing Get Position Tag from a catch all and averaging to a constraint of itself to the context of a For Loop that's specifically referencing each instance it finds that meets the criteria of For Each.
And, it's right their in the name of the operation: For EACH!
And, further, I think this is the right preparatory move towards hyperPad having object references, prefabs (types) and instancing.
-
@Deeeds I don’t really understand what you mean. When you run a For Each Loop above a Get Position, I’m pretty sure it will get the individual position of every object in the tag one by one, not the average.
-
@Aidan-Oxley yes that’s how it works. I posted a project for him yesterday doing just that.
-
-
@iTap-Development @Aidan-Oxley
Forest for the Trees.
Trees for the Wood.
I'm suggesting a better UI and UX that's more consistent, easier to grok and, most importantly, discoverable.
The current system requires rote learning and is a peculiar repurposing of an iterator within an iterator that no longer iterates because it's in an iterator.
But it's not as bad as how the If Else is created, I'll grant you that!