|
Hi all, I've just started with Unity and Game Design in general really, and I'm little unsure about best practice. Here's my scene at the moment:
When the box gets within 10y from the terrain, i want the camera to cap it's y axis (so it doesn't slam into the floor and bounce around with the box). I'm pretty sure I can achieve this, but I'm not sure whether to:
I think either of these would work, but as I was always taught to follow best practice, and have no idea what that is in 3D environments, then I'm wondering what you guys would do. Hope I made myself clear, and thanks to anyone who takes the time to help out. :)
(comments are locked)
|
|
I'm not usually in the business of teaching people the "best" way to do things, because I know I've used very unusual methods to achieve my means in the past and continue to do so. :) For me personally, I would go with the second way you mentioned. For really only a few minor reasons. One, it's universal. You don't have to make a GIANT trigger box to make sure that there's nowhere the camera won't keep falling. It will simply stop at whatever Y position you want. However, as you get more advanced in your project, you might start getting involved in a non-flat terrain, where a definitive Y value to stop at might still end up sticking the camera into a higher piece of ground. In which case, you would want to start exploring the options of Physics.Raycast, and checking the length of a ray shot from the camera down to the ground to always ensure that it's truly X units above whatever ground is there. For your second suggestion, don't forget to ignore the cube directly below the camera when raycasting. If you're using a terrain, you can also use Terrain.SampleHeight (docs: http://unity3d.com/support/documentation/ScriptReference/Terrain.SampleHeight.html ).
Feb 17 '11 at 09:18 PM
burnumd
(comments are locked)
|
