- Home /
Keeping an object constrained to a 2d radius based off of the camera
A few weeks back I posted a question about keeping an object on the screen. What I would like to do now is clamping an object around a 2d radius based on the camera.
I'm need this for a reticule for this on rail shooter I've been making. (like that of starfox)
Here is the current code I am using :
Vector3 movementx = transform.TransformDirection(Vector3.right * Input.GetAxis("Mouse X") * aimSpeed);
Vector3 newPosx = transform.position + movementx;
Vector3 offsetx = newPosx - centerPt.position;
transform.position = centerPt.position + Vector3.ClampMagnitude(offsetx, radius);
// the same for the y axis
The problem with this set up is that I'm restricting it around 3-dimensional objects base off their locations in the world. (this is restricting the players movement towards the edges not letting the player to move the reticule to the side)
So this is what I've tried:
Vector3 screenPosition = Camera.main.WorldToScreenPoint(transform.position);
Vector3 shipOnScreen = Camera.main.WorldToScreenPoint(Ship.position);
Vector3 movementx = transform.TransformDirection(Vector3.right * Input.GetAxis("Mouse X") * aimSpeed);
Vector3 newPosx = screenPosition + movementx;
Vector3 offsetx = newPosx - shipOnScreen;
transform.position = shipOnScreen + Vector3.ClampMagnitude(offsetx, radius);
// the same for the y axis
This just seems to send the empty (which the ship is pointing at) off some where else in the world I cant even tell if I'm moving it or if its just moving with the parent object. (I've tried different variations with this moving the screenPosition swapping it with the transforms position in world space to no avail)
My guess is that its not converting 2d space to 3d space when I try to clamp a 3d object within that radius.
I would like to keep my reticule at an empty point on the screen and not replace it with the cursor.
Your answer
Follow this Question
Related Questions
Making a bubble level (not a game but work tool) 1 Answer
Disable Camera Movement,Stop camera movement 0 Answers
How to relative movement system based on camera direction 1 Answer
One Camera, Multiple Characters, Multiple Problems 0 Answers
how can I disable all camera movements trough GUI? 2 Answers