Add “scene space transform” input to Teleporter gadget
I’m certain this has been posted before but it must have been swept up in a recent forum wipe. This is an important tool that we are currently missing. There are workarounds involving emitters but they are over-complicated and likely add latency.
Had to do some mind-boggling (at least for me) geometry calculations to find a certain position in the scene space. I used emitters to put an invisible object in the calculated position. Happy with the results, but it would've been even better if I could've used teleporters for more precision!
Yeah but this isnt the *How to* section :D ? It's the *please make Dreams better* section :D
Sometimes you just want to be able to execute things really fast in logic. None of this waiting for something to emit or an exclusive gate to trigger! Sometimes you just want to immediately get and set the world position in the same tick!
@Skn3-- You would want to use exclusive gates on those objects to make a selective tag detection system.
You could turn on just the tag you want to teleport to, if you like.
@tapgiles only just saw this reply. If you have multiple tags with same name then Dreams picks the closest a one. It would be neat (and very useful) to be able to pick one tag in particular!
@skn3: You can put a tag in an object, and teleport to that tag. Not sure what you meant but maybe that helps?
+1 to Tapguiles comments. Setting the translation by frame as well as having the scalability of hardwiring in a transform is the desired result.
Just to add my two cents, my scenario is this:
I’ve got a four-wheeled vehicle platform that works as desired, driven by native physics (as opposed to using more precise, but less appealing movers). In this scenario, adding in additional systems or visual elements changes the overall handling of the vehicle by adding volume and weight as well as introducing other possible difficulties.
So say I want to add a modular turret system to the vehicle. If I use a follower, this turret will not match the position of the vehicle frame-by-frame and also introduces a moderate amount of needless compute to calculate velocity etc. So I end up building a tag-based teleportation system which introduces maintenance overhead as I add more and more vehicles to a scene. I’ll now have to either
A) hope the player doesn’t collide two vehicles closely enough to confuse the teleporter and cause the secondary systems to stop teleporting to the correct vehicle(Edit: after some stress testing, I’m starting to think that they do a sticky selection of the uid of the nearest tag when powered on, as opposed to continually reassessing which tag is the nearest)
B) create and maintain unique tag names for each vehicle which doesn’t scale well when considering the time and attention to detail required to implement.
I’m trying to shoot a raycast from the camera’s forward transform. Ideally the laser scope would have a source transform input, but teleporters are equally great here. The result of using a follower based system reduces accuracy and speed of camera-based interaction systems as well as driving up the necessary amount of components to make it work properly -you now have to also use a rotator to make the desired system point in the same direction as the camera, something that would be made trivial for users if we could just wire the camera’s transform from the global settings to the teleporter.
Please please please we need this feature! Or at least be able to choose a particular tag that a teleport goes to! (E.g. with the object picker rather then tag name).
I don't think anyone is saying there is no way of doing this stuff a different way. We're saying "hey it sure would be nice to have a scene transform input into the teleporter." /shrug/
The teleporter and follower fundamentally work differently. The teleporter sets the current position perfectly, the follower physically moved through space towards the target position. The teleporter can match rotation/orientation, the follower cannot.
I think everyone uses the follower method right now. But they are not equivalent. So this feature is useful.
use a follower set to ludicrous speeds, don't use the tag input, but the position input of the gadget. Pretty much does the same trick as a teleporter with a transform input.
If a cuboid that doesn't exceed a third of the maximum size of a scene in any dimension is a big enough target area for your Teleporter, you can do this without emitters:
1. Stamp your Teleporter's target Tag at the far bottom left corner of the cuboid.
2. Stamp and start recording a Keyframe.
3. Move the Tag along the positive X axis a distance of 3 times the width of the cuboid.
4. Stop recording.
5. Stamp and start recording a Keyframe.
6. Move the Tag along the positive Y axis a distance of 3 times the height of the cuboid.
7. Stop recording.
8. Stamp and start recording a Keyframe.
9. Move the Tag along the positive Z axis a distance of 3 times the depth of the cuboid.
10. Stop recording.
By applying partial power to the Keyframes, the Teleporter's target Tag can now reach any position in the cuboid. Power values of 0.0, 0.0, 0.0 will leave the Tag at the far bottom left, while values of 0.333333333, 0.333333333, 0.333333333 will move it to the near top right. This works because Keyframes that animate the same thing don't interfere with each other unless the sum of their power inputs exceeds 1.0.