How the prefab in Scene Settings ? we cannot change player prefab in scene settings
So when we change scene . if the player does not have the same scale than the previous one?
Do we need to change the scale of the palyer at OnStart of the new scene
What is the best way . and what do you suggest?
Comments
I just finished the 2.5D tutorial on your YouTube channel. I really liked the idea of using real world photo created environment, it's very cool.
However, the issues of scale appear to be very tricky to deal with.
In your tutor, you built a four location scene. Looking closer, it has some serious scale issues, which worry me as to the viability of this approach.
Because you use four cameras and guesswork geometry (eye balled), keeping the Player at the proper scale will be/is very difficult.
Looking at the tutor and using your values, this is pretty apparent.
Unless you nail the geometry scale and the camera FOV, they will never match without a tremendous amount of eyeball work.
In the 2D system you have the ability to adjust the scaling depth of your sprites. This make eyeballing very possible and pretty easy.
In the 2.5D system there is no such tool to scale the 3D figure based on the perceived depth in the scene. You have to totally match the camera to the set geometry and that is no easy task.
Is there any possibility to get the ability to re-scale the model at the Camera Switch events to help us fake the depth and perspective issues of matching the background cameras?
Other wise I think I would have to make each Camera Switch a separate scene in a situation were there is a great deal of Z depth in the setup between cameras (as in your tutor going up steps and then moving towards doors, where scale does not match).
Thanks,
David
When you have the background scene lit and rendered in an external 3D tool, you have the camera values available to transfer into Unity - giving you a 1:1 accurate representation. Whether the 2.5D tutorial used photographs or renders, without the source files + same 3D tool, eyeballing was always going to be necessary to follow along.
Re-scaling the character in 3D has a knock-on effect for things like speed, gravity, etc., and is more trouble than it's worth in my opinion - and the intended benefit of "2.5D" is that it shouldn't require such trickery to get realistic behaviour. However, you can of course keep each camera in a separate scene if you prefer.
Also know that, if you really need to change the scale of a character, you can write a custom Action to do this. The following C# command would set the player's scale to (0.5, 0.5, 0.5):
AC.KickStarter.player.transform.scale = Vector3.one * 0.5f;
You could place that code in a custom Action's Run() function and use it at the same time as your Camera: Switch. Here is a tutorial on writing custom Actions, which also explains how you could extend it to allow yourself to set the scale each time it's run within it's UI.
Hey thanks for the quick reply to my question. I'm used to doing this type of stuff with the eyeball method before 3D tracking got so good. I think i'll play around with the camera placement in the 3D set with a copy of the model in the scene to help get the depth issues solved while doing the setup.
Thanks,
David
You can, however make use of regular 3D cameras as part of your 2.5D game when necessary. It won't be listed in your Scene Manager, but you can drag it in from the Assets folder under Adventure Creator -> Prefabs -> Cameras -> GameCamera. You can then create a camera that scrolls, but you will need to make the background a physical sprite in your scene - just be sure to set the camera's Projection to Orthographic.