- Home /
FPS Object-on-wall Placement
I want to build an FPS adventure game that lets the player instantiate objects on the wall of a cave (example: a torch) but I don't know how the best way to do it would be. I have a nice cross-hair and raycast to go with it but it is the object instantiation that is puzzling me.
I have a few ideas but I'm at a loss for where to begin:
My first thought is a minecraft-like approach with specific areas with grids that only allow torch placement in specific areas.
Free-form approach that allows the player to place a torch on any valid surface in any location.
Pre-placed torch areas that instantiate a torch if the player clicks on them. (Leaves the least amount of freedom for the player).
My ideal option would be #2 because it gives the player the most control over their lighting but I could also see it looking really bad if done improperly.
Here is my raycast code (its only slightly modified from the one in the unity documentation):
public class centerCameraRaycast : MonoBehaviour {
public Camera mainCamera;
void Update() {
Ray ray = mainCamera.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 1f))
print("I'm looking at " + hit.transform.name);
else
print("I'm looking at nothing!");
}
}
Your answer
Follow this Question
Related Questions
How to not instantiate an object if there is another object there? 1 Answer
Instantiated Prefab doesn't find main camera 2 Answers
Piece of code creates unwanted GameObjects in scene 3 Answers
C# Why do I have to use .AddComponent and not "new (ClassName)"? 1 Answer
How can I check if an instantiated object collides with another instantiated object? 1 Answer