- 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
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                