Giter VIP home page Giter VIP logo

raisimunity's Introduction

RaiSimUnity

raisimunity gif

RaiSimUnity is a visualizer for RaiSim based on Unity. It gets the simulation data from raisim server application via TCP/IP.

The project was tested on Ubuntu 18.04 LST.

Dependencies

The following Unity plugins are already included in the project.

The following Unity packages are imported by Unity Package Manager automatically: see Packages/manifest.json

The followings are optional dependencies

  • ffmpeg for video recording
    • You can install ffmpeg by
      $ sudo apt install ffmpeg

How to

Using RaiSimUnity

For beginners, we recommend downloading a compiled app image from the release tab. This is stand-alone application thus you don't have to mind about dependencies or compiling. (only ffmpeg is required for recording a screen capture video.)

Quickstart with RaiSim

  1. Add the following line in your RaiSim simulation code: see Example code
      /// launch raisim server
      raisim::RaisimServer server(&world);
      server.launchServer();
    
      while(1) {
        raisim::MSLEEP(2);
        server.integrateWorldThreadSafe();
      }
    
      server.killServer();
  2. Run your RaiSim simulation.
  3. Run RaiSimUnity application.
  4. Add your resource directory that contains your mesh, material etc.
  5. Tap Connect button after specify TCP address and port.
  6. You can change background by Background dropdown menu in run time.

Development

The following sections introduces how to develop RaiSimUnity on Linux (Ubuntu 18.04 LTS). For more details, see Installation wiki and Developing wiki.

Getting started

  1. Clone this repository with git and git-lfs: we use git-lfs for large files such as materials, meshes, texture images etc.
    $ git clone https://github.com/eastskykang/RaiSimUnity.git
  2. Once you cloned source code, get lfs files by
    $ git lfs pull origin
    You should see texture JPEG files properly from Assets/Resources/texture/cc0/.
  3. Open the project by Unity Editor >= 2019.2.9
  4. Write or edit Unity project with Unity Editor and your code editor
    • We strongly recommend to use JetBrain's Rider IDE and Unity Rider Editor package >= 1.1.2 for programming or debugging. See this for more details.

Contribution guideline

See a contribution guideline.

Material supports

RaiSimUnity has default materials created from CC0 textures and Free PBR Materials textures. Default materials are included as Resources. You can use default materials as follows:

Material material = Resources.Load<Material>(yourMaterialName);
yourGameObject.GetComponentInChildren<Renderer>().material = material;

The name of default materials are:

  • Ground1: default material for height map
  • Tiles1: default material for plane
  • Plastic1: red plastic
  • Plastic2: green plastic
  • Plastic3: blue plastic
  • Metal1

Default materials

If you want to create your own material, see Wiki doc.

Note that material defined in Collada format (.dae) can be automatically imported without pre-created Unity material.

FAQ

  • Is RaiSimUnity a stand-alone simulator?
    • No, RaiSimUnity is a TCP client of RaiSim.
  • Is RaiSimUnity open-sourced?
    • Yes. However note that RaiSim is not open-sourced project.
  • Can RaiSim and RaiSimUnity be run on different machines?
    • Yes. You can run RaiSim application on your "Server" machine and connect RaiSimUnity to the server by specifying IP address.
  • Does RaiSimUnity support Mac or Windows?
    • Although we only release Linux builds, you can easily build RaiSimUnity for Mac or Windows.
    • However RaiSim does not support Mac or Windows. This means if you want to use RaiSimUnity on Mac or Windows, you need to run your RaiSim application on Linux "Server" machine (or docker container) and connect it with RaiSimUnity.

raisimunity's People

Contributors

eastskykang avatar jhwangbo avatar raisim avatar ultrafrog2012 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.