Coder Social home page Coder Social logo

kestrelm / creature_unity Goto Github PK

View Code? Open in Web Editor NEW
71.0 15.0 24.0 43.15 MB

2D Skeletal Animation Unity Runtimes for Creature

Home Page: http://creature.kestrelmoon.com/

License: Apache License 2.0

C# 100.00%
creature unity creature-unity skeleton cutout puppet sketch skin sprite 2d animation unity2d mecanim side-scroller platformer spriter bone mesh ffd spine

creature_unity's Introduction

Creature-Runtimes

This is the runtime for Creature, the advanced 2D Skeletal and Mesh Animation Tool. This runtime is for Unity 5.0 and up. It allows you to load in, play back and control your authored Creature Characters in the Unity environment. Mecanim support is also provided.

For more information on how to use the runtimes, please head over to this site

Features of the Unity Runtime

  • Support for both JSON and Fast Loading Binary FlatBuffers formats
  • Optional High performance Point Caching playback
  • Skin/Item Swapping for different character meshes/regions
  • Animated Region Ordering
  • Game Agents + Controllers for customized Gameplay code
  • MecAnim Support
  • In Game 2 Bone IK
  • Bend Physics support for dangling bone chains via Unity PhysX
  • Smooth Animation Blending/Transitions
  • Unity UI Canvas Renderer Support
  • Support for Creature Flow Particle FX for Flipbook Style Animations
  • Gap Step Animation Compression Support
  • High Performance CreaturePack variant for character crowds, background scenes, secondary characters
  • Builds on all platforms ( PC/Mac/Linux/Console/Mobile )

Notes on deploying Creature Animations in Unity

Please note you have the following options to deploy Creature animations in Unity:

  • Standard CreaturePlugin, all the features for main character gameplay requirements
  • CreaturePack, for character crowds, NPCs and scenarios where very high performance playback + loading is required
  • FBX, you can export a character as a FBX asset from Creature if it just uses Bone Motors ( Bone Skinning ), allowing you to use the full Unity Skeletal Animation pipeline

Deploying for iOS and other platforms

If you are having issues with deploying for platforms like iOS ( UnusedBytecodeStripper2.exe did not run properly etc. ), you should give the following a go:

  1. Remove the CreatureFlatData.dll from the Distro directory

  2. Create a new folder in your project and include the files:

Creature FlatBuffers Source

  1. Build and deploy your project

This should remove any sort of DLL dependency on your project.

Creature 2D Side-Scrolling Platformer Demo

This is a simple 2D Side-Scrolling Demo authored in Creature and Unity. Characters are animated with the Creature 2D Animation Tool and brought to life in the Unity Game Engine using the Creature Unity Plugin.

Non

Download the full Unity source + assets of the demo here.

Creature Unity Game UI Demo

This is a demonstration of multiple Creature Animated characters playing in a reconstructed Game Starting Menu UI scene. The Reaper character and even the buttons are all authored and animated from within Creature.

Non

Video of the Demo is here.

Download the full Unity source + assets of the demo here.

Artwork Credits

Reaper: Katarzyna Zalecka. CC-BY-SA 3.0, Ancient Beast

Background: David Revoy, CC BY 3.0

Buttton Frame: Ironthunder, CC-BY 3.0

Hummingbirds! ( Creature Pack Demo )

Non

Hummingbirds! is a demo done using the lighter weight Creature Pack Plugin. It showcases an entire scene ( flowers, birds ) all animated in Creature and played back in Unity using the plugin in real-time.

Creature Pack Plugin: https://github.com/kestrelm/Creature_Unity/tree/master/CreaturePack

Live WebGL Demo: http://creature.kestrelmoon.com/WebDemo/BirdPacksDemo/

Demo Trailer: https://youtu.be/NpaTAHtHU_E

License

The Creature Runtimes operate under 2 License types depending on whether you own a Licensed copy of Creature or not.

  • People who own a licensed copy of Creature: You use the standard Creature License included with the runtime code. TLDR: You are free to publish/modify/sell your product with the Creature runtimes without needing to state you are using the runtimes/put the copyright notice in your code/app. If you already have been using the Creature runtimes as a licensed owner of Creature, nothing changes :)

  • Everyone else: The runtimes are released under the very permissive Apache License :)

Both Licenses allow for private use and do not require any disclosure of your source code.

creature_unity's People

Contributors

jychongmidas avatar kestrelm 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  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  avatar  avatar  avatar  avatar  avatar

creature_unity's Issues

Unity Static Event Triggering

In CreatureGameController.cs:
public static event eventTrigger OnEventTrigger;

This needs to have the "static" tag removed from it. With static enabled, if you ever have multiple Creature-animated sprites in the scene, you will have events triggering on all of them when it's triggered for a single instance. Without static, it properly triggers on a single Creature instance.

Unity Animation Event Triggering

In the CreatureFrameCallback class, this line:
if((int)Math.Round(frameIn) >= frameIn)

needs to be changed to:

if((int)Math.Round(frameIn) >= frame)

Otherwise, animation events trigger randomly/sporadically, instead of at the intended time.

Unity SetActiveAnimation and Blending

CreatureRenderer.SetActiveAnimation() needs to call creature_manager.SetAutoBlending(false);, otherwise if you blend two animations, and later call SetActiveAnimation in order to do a non-blending transition, it will loop the previously blended animation improperly (since blending will still be set to true) instead of using the new animation you set.

Overlay Animations

Hello! Like most of game studios we have this problem using Creature:

We have a character with 4 animations : a "Run" animation, a
"Jump"animation, a "Shoot with Gun" animation and a "Shoot an arrow with
elbow" animation.

In theory we should make the animation Run( or jump) being OVERWRITTEN by
the animation " Shoot with gun" JUST for the arms whenever it happens at
any time! Usually this is achieved with the Layers in Mecanim in Unity.
But How Can I manage this situation? You don't have any tuturial about
it, in your tutorial you simply blend between two animations which is
almost never the case in games where you need to change the shooting
weapon.

How can we address this? Thank you very much.

Unity Layers Override

It has been added the functionality of overriding an animation for certain bones ( useful in runner games, where we have a layer for the arms shooting and the lower layer for the body) but this is accessible only via code.

In unity in mecanim there is already a Layer system where one can set Override/Additive layer where you can set the animation on different layers and it the upper layer has an animation just for the arms it will automatically override the animation for the arms at the lower layer.

It would be cool to make use of this in mecanim instead of the code.

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.