Search Unity

Unity Remote: Remote First-Person Control for Unity in PlayBook

Discussion in 'Made With Unity' started by xvart, Jul 22, 2013.

  1. xvart

    xvart

    Joined:
    Dec 12, 2010
    Posts:
    21
    Hi,

    I have been forgetting to post this here but the 4.2 release reminded me. So, for a gallery installation I created a remote control application for Unity in BlackBerry Playbook.

    The application uses TCP/IP protocol and Unity acts as the host while PlayBook acts as the client. The two do not need to be in the same network. Right now the port is hardcoded to 8090. There are two control schemes available.

    Since it was designed for a gallery exhibition, the current version does not give any feedback if things go wrong. However, whenever the remote is activated or a button is touched, the application checks the connection and if it is not connected, it re-establishes the connection.

    The application is available: http://appworld.blackberry.com/webstore/content/27406123/?countrycode=US

    Here is the application working within the installation:

    I will also create a Z10 port and followed by a Q10 port when my emulator/VMware combination gets working.



    The BlackBerry App


    Let's look at the setup screen:

    $IMG_00000173.png

    Setup Screen

    In this screen, you enter the IP address of the machine running Unity. And then, you need to choose either a pad only or a button and pad combination control scheme.

    Let's look at Pad only:

    $IMG_00000174.png

    Pad Only​

    The screen is divided into two: The right side allows you to look around (like mouse look) and the left side allows you to walk. The application supports multitouch and for both side you need to touch and drag. There is no specific center so you can start touching from any part of the active areas. The amount and the speed of the movement or head movement depends on the difference between the initial touch point and the current point of touch. The exact speed of the actions can be adjusted from Unity side.

    Let's look at the button and pad scheme now:

    $IMG_00000172.png

    Buttons and Pad


    In this case, the right side works exactly as the prior case. However, for walking you have to touch on the arrows. You can still multitouch but it is a more 'digital' option (like wasd control).


    Unity Package

    The package can be downloaded from: https://www.dropbox.com/s/xck002lu30ili13/FPController_PlayBook.unitypackage

    It contains the followings:

    • FPController_PlayBook: A modified version of standard FPS controller
    • TCPHost.cs: The host script for Unity. This needs to be put in the plugins folder (because of the order Unity looks at the folders) and is put there by default. This code is based on This code is based on the JitReceive.cs from mu (myu) Max-Unity Interoperability Toolkit developed in Virgina Tech. DISIS
    • FPSInputController.js: A modified version of the FPSInputController that Unity is shipped with
    • MouseLook2.cs: A modified version of the MouseLook.js in C#
    • CharacterMotor.js: CharacterMotor.js from Unity

    All these files come as a bundle and when the package is imported everything is put into correct folders.

    To create a test scene just create a new project without any packages. Put a plane and import the FPController_PlayBook package and make sure that the port 8090 is not blocked. When you run the application from the tablet enter the IP of the computer into the tablet.
     
    Last edited: Jul 22, 2013
  2. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    where to find this assets
     
  3. xvart

    xvart

    Joined:
    Dec 12, 2010
    Posts:
    21