Skip to content

Repository files navigation

UE5 Discord

Odyssey

Odyssey

Overview

Odyssey is a digital-painting + storyboard manager plugin for Unreal Engine 5.

Odyssey comes with a dedicated interface to create and edit animations and textures directly within the engine, eliminating the need for a workflow with multiple software. Express your art and experience new creative possibilities with a powerful blueprint-based nodal brush engine. Create brushes to make traditional tools ( crayons, paintbrushes, pencils... ).

Odyssey can be used for many purposes, including:

  • Creating 2D animations and drop them in the viewport
  • Editing 2D textures used in materials ( as diffuse, specular, normal, etc. ) and see the result in real-time on 3D assets in the viewport.
  • Creating 2D images like tile sets or sprites for 2D video games.
  • Drawing sketches for storyboard, design or illustration.

Odyssey is also designed for 2D storyboard artists ; its use is simple and intuitive, yet powerful and complete:

  • use 3D environment and create shots, cameras and animations in a few clicks directly from the Sequencer
  • adjust the angle and the perspective
  • and ... start drawing and animating! ✍️

Odyssey is source-control and multi-user compatible: storyboard artists, previz artists, background artists, film directors and all other people involved in preproduction can work together in real-time to share and enhance their vision of the art.

Installation

Install the plugin directly to your Unreal Engine 5 via Fab ... it's free ! 😍👍

Documentation

Read the 📘User Documentation to learn how to use the plugin

Links

Official Repository
Official Homepage 🏠
Praxinos Website
Odyssey on Discord
Fab

Setup (after cloning)

  • Static Badge Double-click on Setup.bat
  • Static Badge Double-click on Setup.command

Tip

Don't hesitate to double-click on Setup.bat | Setup.command from time to time

Making a Package

See the README of Installers repository

Commit comment rules

Minimal Structure

<type>: <description>
  • <description>

    • MUST be a single line
    • MUST follow a space (after the semi-colon)
    • MUST start with a verb in imperative, present tense
      • like add, remove, replace, improve, move, create, set, check, use, manage, ... but NEVER fix !!!
    • MUST be in lowercase, even the verb
      • an exception is allowed for words used in the code (function/class/... names)
    • MUST NOT end with a period (.)
  • <type>

    • MUST be only one of:
      • feat: new feature for the user (not a new feature for build script)
      • fix: bug fix for the user (not a fix to a build script)
      • chore: updating grunt tasks etc (no production code change)
      • refactor: refactoring production code, eg. renaming a variable
      • style: formatting, missing semi colons, etc (no production code change)
      • docs: changes to the documentation
      • test: adding missing tests, refactoring tests (no production code change)
  • examples

    feat: compute the scale size of the mesh to be inside the camera frustrum
    
    fix: use the real Size<>() function for section
    
    chore: remove dependency between EposTracksEditor and EposEditor by adding its own style
    

    Multiple lines MAY be used for one commit, but use it sparingly

    feat: manage single camera and multiple planes inside shot sequence
    feat: add a playback context inside toolkit
    

Verbose Structure

Show
<type>(<optional-scope>): <description>

<optional-body>

<optional-footer>
  • Blank lines between each part are mandatory
  • <optional-scope>
    • MAY be 1 module name like: EposMovieScene, EposSequence, ... if modifications are only contained inside a single module
    • in the case that 2 (or 3 but no more) modules are concerned, they will be separated by a comma (,) (without a space after)
  • <optional-body>
    • just as in the description, use the imperative, present tense
  • <optional-footer>
    • MAY be used for referencing issues like: close #234 or close #123, close #245, close #992
    • MAY be used for BREAKING-CHANGE

Example

refactor(EposTracksEditor): move Board* headers to private
feat: add key thumbnail section for single cameracut track

this may be improved because base class FTrackEditorThumbnail is not virtualized and FThumbnailSection class owns a plain object of FTrackEditorThumbnail class instead of a pointer

close #12345

References