- Home /
Question Solved.
MMO / WoW like 3rd person controller
So I'm looking at making a 3rd person RPG style game, and want the same movement and camera control as World of Warcraft (which are pretty much the same with every MMORPG I have played).
This includes:
The ability to right click and turn both camera and player.
The ability to left click and only turn camera (with out hiding the cursor as you still need to be able to click on things in game).
To be able to click both mouse buttons to move forward.
Using the scroll wheel to move the camera in and out.
Having the character moving backwards when the "S" or Down Arrow is pressed
Then of course the normal controls like walking around and having the camera follow ect.
I've seen a few pretty large threads about this but there is never any clear answers.
All help is appreciated :)
Forgot to mention, I only know C# so please no JavaScript :)
If you need us to explain and lay out something this specific then you might be better off going through some Unity tutorials and the documentation.
I understand that asking for something from scratch seems lazy, but I've been reading through this:
http://forum.unity3d.com/threads/16949-WOW-Camera-$$anonymous$$ovement?highlight=wow+camera
and it just allot of unanswered questions. Also I can't find a tutorial of this.
put this in a script on a camera as the child of a child of the player object. It rotates its parent causing the camera to rotate around it it should then look like:
Player
Player-$$anonymous$$esh
CameraHolder
$$anonymous$$ainCamera(script on this)
void Update () {
if(Input.Get$$anonymous$$ey($$anonymous$$eyCode.$$anonymous$$ouse1)){
Cursor.visible = false;
transform.parent.Rotate (-Input.GetAxis ("$$anonymous$$ouse Y") * ySpeed, Input.GetAxis ("$$anonymous$$ouse X") * xSpeed, 0);
transform.parent.rotation = Quaternion.Euler(transform.parent.rotation.eulerAngles.x, transform.parent.rotation.eulerAngles.y, 0);
}else{
Cursor.visible = true;
}
transform.position += transform.forward * Input.GetAxis ("$$anonymous$$ouse ScrollWheel") * scrollSpeed;
}
Answer by Calum-McManus · Jan 16, 2014 at 04:14 PM
Non of these work very well or at least how i want them to, but luckily I've spent a month on it and got a perfect World of Warcraft style controller!
Thanks for your help though!
It may be released on the asset store soon, but this kinda code is in high demand and i don't want to end up loosing it