Git Product home page Git Product logo

cable-physics's Introduction

Cable physics

Real-time simulation of cable behaviors, such as:

  • move - connectors that can be lifted and moved
  • connect to the connector - keeps divided into colors and male and female connectors
  • stretching - the cable can extend to the designated length, after exceeding it, the cable disconnects from the connector, returning to the neutral length
  • overlapping cables - they have collisions with each other and can be lifted and moved

Cable behavior demonstration video: youtube.com/Hrober/cables-physics

The whole system was used in-game named Errata.
Errata trailer: youtube.com/Errata/errata-trailer

Project structure

Cables scripts

Main cable script:
github.com/Hrober0/Cable-physics/Assets/PhysicCalbes/Scripts/PhysicCable.cs

Cable connector script:
github.com/Hrober0/Cable-physics/Assets/PhysicCalbes/Scripts/Scripts/Connector.cs

Interactions scripts

Scripts required to interact with cables:
github.com/Hrober0/Assets/Interactions
(Whose dependencies can be easily removed)

Sample player controller

Sample first-person player controller used to show sample of interaction with cables:
github.com/Hrober0/Assets/SamplePlayerController

Sample scene

Sample scene used to show sample of interaction with cables:
github.com/Hrober0/Assets/Scenes
Scene contains plyer, basic environment and some cables and connectors.

Used Technologies

Unity

C#

Used Packages

NaughtyAttributes

NaughtyAttributes is an extension for the Unity Inspector.
It expands the range of attributes that Unity provides so that you can create powerful inspectors without the need of custom editors or property drawers. It also provides attributes that can be applied to non-serialized fields or functions.
Link: https://github.com/dbrizov/NaughtyAttributes

cable-physics's People

Contributors

hrober0 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.