Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Dead Lincs · Apr 30, 2014 at 09:46 PM · rotationinput

PS3 Analogue Stick Axis Values

I have connected a PS3 DS3 Sixaxis controller to my laptop and set it up to work with unity. Everything works fine, but I noticed whist debugging the X and Y values of both the left and right analogue sticks that when the Y axis on the right stick is changed, the X axis value for the left stick also changes to the same value as that of the right stick. Does anybody know what causes this and how it can be sorted so that this does not happen? Many thanks.

P.S: The debugging code:

 using UnityEngine;
 using System.Collections;
 
 public class AxisDisplay : MonoBehaviour {
 
     private string leftX = "0";
     private string leftY = "0";
     private string rightX = "0";
     private string rightY = "0";
     
     private float leftXValue;
     private float leftYValue;
     private float rightXValue;
     private float rightYValue;
     
     public float leftXPercentage = 0;
     public float leftYPercentage = 0;
     public float rightXPercentage = 0;
     public float rightYPercentage = 0;
     
     void Update(){
         leftX = Input.GetAxis("Horizontal").ToString();
         leftY = Input.GetAxis("Vertical").ToString();
         rightX = Input.GetAxis("Mouse X").ToString();
         rightY = Input.GetAxis("Mouse Y").ToString();
         
         leftXValue = Input.GetAxis("Horizontal");
         leftYValue = Input.GetAxis("Vertical");
         rightXValue = Input.GetAxis("Mouse X");
         rightYValue = Input.GetAxis("Mouse Y");
         
         leftXPercentage = (leftXValue - -1.0f) / (1.0f - -1.0f);
         leftYPercentage = (leftYValue - -1.0f) / (1.0f - -1.0f);
         rightXPercentage = (rightXValue - -0.5061729f) / (0.5061729f - -0.5061729f);
         rightYPercentage = (rightYValue - -0.6296296f) / (0.6296296f - -0.6296296f);
     }
     
     void OnGUI(){
         OnScreenText();
         OnScreenJoystickLeft();
         OnScreenJoystickRight();
     }
     
     private void OnScreenText(){
         GUI.color = Color.black;
         if(leftX == "0.01077548"){
             GUI.Label(new Rect(25,25,200,25), "Left Stick X: 0");
         } else {
             GUI.Label(new Rect(25,25,500,25), "Left Stick X: " + leftX);
         }
         if(leftY == "0.01077548"){
             GUI.Label(new Rect(25,50,200,25), "Left Stick Y: 0");
         } else {
             GUI.Label(new Rect(25,50,500,25), "Left Stick Y: " + leftY);
         }
         GUI.Label(new Rect(25,75,500,25), "Right Stick X: " + rightX);
         GUI.Label(new Rect(25,100,500,25), "Right Stick Y: " + rightY);
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by wibble82 · Apr 30, 2014 at 09:55 PM

It's a bit odd you're storing those strings, but that shouldn't be a problem technically.

Your code looks like it should work, assuming your input settings are correct (see http://docs.unity3d.com/Documentation/Manual/Input.html).

I would recommend testing the pad in the windows pad confit and ideally another game, or testing it with a different pad (ideally both). From past experience I have found various unofficial ds3 drivers to be a little ropey.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

21 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

Right Stick Aiming Problem (Dual Stick Shooter) 3 Answers

CharacterController doesn't rotate on my script... 1 Answer

(C#) A better way to limit actions to once per button press? 2 Answers

Can you access non-standard mouse buttons? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges