Giter VIP home page Giter VIP logo

peterlnewton / localsimulation Goto Github PK

View Code? Open in Web Editor NEW
43.0 10.0 15.0 638.6 MB

This plugin allows you to essentially create PxScene or Physic Scenes by placing an Actor, and adding other Static Mesh Components and soon Skeletal Mesh components within this space. Adding Constraints, and Forces will work as expected, but now with the additional layer of abstraction so that simulation can be anchored to a transform.

Home Page: http://peterlnewton.com/

License: MIT License

C 0.10% C++ 98.01% C# 1.89%
blueprint unreal unreal-engine udk physics physx ue4 vr

localsimulation's Introduction

Abstraction of Immediate Physx API used to create low cost Physics Simulations within Unreal Engine 4.

This was made possible thanks to the work by 4.16 from UE4 Devs new Immediate Physics. https://www.unrealengine.com/en-US/blog/gdc-2017-making-physics-based-mayhem

Wouldn't be here without their work exposing PhysX API.

I've taken it a step further, and abtracted the implementation using a Blueprint Actor. Now you can control low level physics with just a few commands in Blueprint. :)

Version

4.17.2 (Planned)

4.16.2 (Currently)

Why

This was made to allow you to easily ignore world forces for physics simulations i.e. playing catch on a train. Imagine now you can play catch, and the simulation would respond in a way that the world isn't moving at all. Allowing for predictable results in environment that require this behavior.

LocalSimulation

This plugin allows you to essentially create PxScene or Physic Scenes by placing an Actor called Local Simulation Volume, and adding other Static Mesh Components and soon Skeletal Mesh components within this Actor. Adding Constraints, and Forces will work as expected, but now with the additional layer of abstraction so that world simulation can be associated with a transform.

TODO

Skeletal Meshes

7/16/2017

Solution ready for implementation. Transform issue was making joints impossible, which make Skeletal Meshes worthless. Next push will contain first pass implementation of Skeletal Mesh Components. After that, I will slowly abstract the Blueprint commands further to support Mesh Components, to make use of this Actor much easier. 6/31/2017 Tested plan yet to implement, but wanting a better solution.

Create bodies of Skeletal Mesh, then copy Skeletal Mesh to UPoseableMeshComponent. Map bodies to new UPoseableMeshComponent and blend Animation from original Skeletal Mesh per bone as determiend by flag which says its 'Default/Kinematic/Simualted'.

Transform / Scale

7/16/2017

Appears this is because there is a ActorToBody offset that wasn't adjusted for. This has been affecting all aspects of Physics, but it is now rememedied. Scale issue continues to percist.

6/31/2017

Appeared to get weird effects when scaling of components, but unable to decide exactly what is influencing it. Currently I believe it has to do with Static vs (Kinematic / Dynamic?). Still not 100% sure but really sketchy behavior which needs to be made clear.

Removing Joints / Acors

7/16/2017

Everything has been solved. Unreal has a flipped frame of reference, and on top of the transform offset from the body. It wasn't clear what was happening with the joints. Now that is solved, next push will include polished integration of joints. 6/31/2017 This works for the most part, but also needs to be reviewed.

Adding Forces to Bodies / Simulation space.

7/16/2017

R&D done. This will be imeplemented after the completely adaption of Sketal & Static rigidbodies. As abstracting the two components will make operations which they both will inevitability need, easier to use. 6/31/2017 Need to make this possible.

Updating Joints / Actors

7/16/2017

This problem is now apparrent now that more things work as expected. That is happening is that in-between Physic Simuations aka where Contacts occur. Removing & Adding joints can introduce large amount of forces. It would also be nice to have the ability to change from static, kinematic, and dynamic at runtime. Given this is an underlying proxy, this "should just work".

Etc functions I'm not thinking of that are necessary.

localsimulation's People

Contributors

peterlnewton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

localsimulation's Issues

Character movement Component and Character Support

Hey got a bit of a request for the local simulation plugin.

Would it be possible to get it so that pawns with the character movement Component as well as BPs of Type Character works with the Local simulation plugin?

Here is my use case -
I am building a multiplayer space game where players can walk around inside the ships while the ship is rotating, turning, pitching, etc.

I am currently using the Six DoF movement component from the marketplace to achieve the movement style I am after for the ships.

Version compatibility

Hey Peter,

Would it be possible to list the version of UE4 that the Local Simulation plugin was built with?
I have it running in 4.16.3 but people looking over the readme may not know.

Just a thought.
HeadClot

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.