• Stars
    star
    411
  • Rank 105,247 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿต Embark Addon for Blender

๐Ÿต Embark Blender Tools

Embark Embark Build Status

A Blender add-on containing workflow tools for game development, created and maintained by Embark Studios.

The add-on includes tools for standardized import/export workflow, 3D modelling and new object types.

We welcome Pull Requests - if you would like to contribute, please check out the Contributing section.

Prerequisites

Installation

  1. Download the latest release of the addon from Github!
  2. Launch Blender and navigate to Edit -> Preferences, then choose the Add-ons section:

Screenshot of Preferences menu

  1. Click Install in the top right of the Preferences window
  2. Use the file browser to navigate to the file you downloaded, then click Install Add-on:

Screenshot of file browser with Install Add-on option

  1. Find the Embark Addon in the add-ons list, and ensure that the checkbox is checked:

Screenshot showing Embark Addon with active checkbox

Updating the add-on

The tools contain built-in update functionality, so you should only need to run through this process once!

If you don't want the add-on to auto-update, please disable the Automatically check for updates checkbox in the Preferences section of the Embark Addon.

Tools

Below is a concise list of some of the functionality offered by the Embark Blender Tools.

Export Collections

Export Collections are used to define lists of objects that will be exported to a single model file. The tools all use FBX for exports to game engines like Unreal, and OBJ for highpoly objects for baking.

Working with Export Collections

There are a few things to keep in mind when working with the Embark Export Collection tools:

  1. You must configure your Project source folder in the Embark Addon's Preferences panel, as shown below.

    Screenshot showing Embark Addon Preferences

    This sets the absolute root for exporting, and all export paths will be stored as paths relative to this.

  2. All Blender scenes must be saved relative to the Project source folder

  3. Export Collections will fail to export if your scene is not saved, or is saved under a path outside of the Project source folder!

Creating a new Export Collection

You can create a new Export Collection from selected objects as shown here:

  1. Select one or more objects that you would like to export
  2. Click on the Embark tab to the right of the 3D View
  3. Click on Create New Export Collection

Screenshot showing how to create an Export Collection from selected objects

  1. In the File Browser that pops up, select the location and name for your new export.

    • On the right, you will see some settings:

      <img alt="Screenshot showing Export Collection settings" src="./images/export_collection_settings.png"/>
      
    • Select the preset that is appropriate for your asset type - this will enforce some naming conventions

    • If you disable Export Immediately, the Export Collection will be created, but not exported

You will now see a new Collection in the outliner, named to match the export file name you chose.

Modifying an existing Export Collection

Export Collections are stored in the Blender scene, and can be modified and exported at any time.

All Export Collections are shown in the Embark panel, and Export Collections that contain the selected object will be auto-expanded.

You can use the fields on each Export Collection to modify:

  • Output file name
  • Export type
  • Output folder (relative to your Embark Addon's configured Project source folder)

Screenshot showing Export Collection buttons in the Embark panel

Each Export Collection shown in the panel also has convenience functionality on the icon buttons shown above:

  • Select objects contained in this Export Collection
  • Add selected objects to this Export Collection
  • Remove selected objects from this Export Collection
  • Export this Export Collection
  • Delete this Export Collection from the scene
    • Note that the objects it contained will remain in the scene!

Exporting objects and Export Collections

You can always press the Export All button from the Embark panel, and you can also use the Embark -> Export All Collections menu item if you aren't in a context that shows the panel. This will export every Export Collection in the current scene.

If you are working on a particular object, you can use the Export by Selection button from the Embark panel. This is also accessible via the Embark -> Export Collection(s) by Selection menu item. This will export only those Export Collections that contain any of the currently selected objects.

These commands can all be bound to hotkeys or added to the Quick menu by right-clicking on them from the Embark menu.

Import

Accessed from the Embark -> Import menu item.

Imports objects (FBX, OBJ, PLY) using hard-coded standard settings to enforce consistency.

Spiral Curve

Accessed from the Embark -> Spiral menu item, or the 3D viewport's Add -> Curve -> Spiral menu item.

Adds a parametric spiral curve object to the scene.

Connect Contextual

Mesh editing, connects verts/edges/faces depending on selection.

Frame Contextual

Accessed from the 3D viewport's View -> Frame Contextual menu item.

Frames the selection in the 3D viewport, or frames the whole scene if nothing is selected.

Contributing

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

More Repositories

1

rust-gpu

๐Ÿ‰ Making Rust a first-class language and ecosystem for GPU shaders ๐Ÿšง
Rust
6,796
star
2

kajiya

๐Ÿ’ก Experimental real-time global illumination renderer ๐Ÿฆ€
Rust
4,753
star
3

wg-ui

WireGuard Web UI for self-serve client configurations, with optional auth.
Go
1,468
star
4

cargo-deny

โŒ Cargo plugin for linting your dependencies ๐Ÿฆ€
Rust
1,254
star
5

puffin

๐Ÿฆ Friendly little instrumentation profiler for Rust ๐Ÿฆ€
Rust
973
star
6

rust-ecosystem

Rust wants & tracking for Embark ๐Ÿฆ€
Rust
843
star
7

physx-rs

๐ŸŽณ Rust binding for NVIDIA PhysX ๐Ÿฆ€
Rust
646
star
8

cargo-about

๐Ÿ“œ Cargo plugin to generate list of all licenses for a crate ๐Ÿฆ€
Rust
320
star
9

tryhard

๐Ÿ’ซ Easily retry futures ๐Ÿฆ€
Rust
200
star
10

presser

A crate to help you copy things into raw buffers without invoking spooky action at a distance (undefined behavior).
Rust
157
star
11

crash-handling

Collection of crates to deal with crashes
Rust
135
star
12

poll-promise

A Rust promise for games and immediate mode GUIs
Rust
127
star
13

rpmalloc-rs

๐Ÿ rpmalloc global memory allocator for Rust ๐Ÿฆ€
Rust
126
star
14

discord-sdk

An open implementation of the Discord Game SDK in Rust
Rust
108
star
15

skyhook

Simple Python communication system for DCC's and Game Engines
Python
104
star
16

spirt

SPIR-๐Ÿ‡น: shader-focused IR to target, transform and translate from ๐Ÿฆ€
Rust
103
star
17

superluminal-perf-rs

๐Ÿ”† Superluminal Performance profiler Rust API ๐Ÿฆ€
Rust
94
star
18

ash-molten

๐ŸŒ‹ Statically linked MoltenVK for Vulkan on Mac using Ash ๐Ÿฆ€
Rust
91
star
19

cargo-deny-action

โŒ GitHub Action for cargo-deny ๐Ÿฆ€
Shell
89
star
20

cargo-fetcher

๐ŸŽ cargo plugin for quickly fetching dependencies ๐Ÿฆ€
Rust
83
star
21

mirror-mirror

๐Ÿชž Powerful reflection library for Rust
Rust
79
star
22

relnotes

Automatic GitHub Release Notes
Rust
77
star
23

opensource-template

๐ŸŒป Template for creating new repositories
74
star
24

tame-oauth

๐Ÿ” Small OAuth crate that follows the sans-io approach ๐Ÿฆ€
Rust
68
star
25

tiny-bench

A tiny benchmarking library
Rust
59
star
26

k8s-buildkite-plugin

Run any buildkite build step as a Kubernetes Job
Jsonnet
49
star
27

krates

๐Ÿ“ฆ Creates graphs of crates from cargo metadata ๐Ÿฆ€
Rust
45
star
28

opensource

Open source processes, policies, and info
Rust
42
star
29

cervo

Utility wrappers for tract
Rust
40
star
30

tracing-logfmt

A logfmt formatter for tracing subscriber logs
Rust
38
star
31

tame-gcs

๐Ÿ“‚ A small library with a limited set of Google Cloud Storage operations ๐Ÿฆ€
Rust
37
star
32

octobors

Rust program for automerging PRs based on a few rules
Rust
35
star
33

server-framework

Framework for running network services, opinions included
Rust
35
star
34

nfd2

OS native dialogs for Windows, MacOS, and Linux
Rust
32
star
35

cfg-expr

A parser and evaluator for Rust cfg() expressions. Targets as of Rust 1.58.0 are supported.
Rust
32
star
36

pdm-plugin-torch

A tool for managing torch-variants with PDM.
Python
31
star
37

opa-policies

Contains OPA Policies for Dockerfiles, Kubernetes YAMLs, Terraform, etc
Open Policy Agent
29
star
38

gsutil

Minimal gsutil replacement
Rust
27
star
39

spdx

๐Ÿ†” Helper crate for SPDX expressions. ๐Ÿฆ€
Rust
27
star
40

tame-index

Small crate for interacting with cargo registry indices
Rust
23
star
41

fsr-rs

Rust bindings for AMD FidelityFXโ„ข Super Resolution
C
22
star
42

opensource-website

๐ŸŒ Hub for Embark's open source efforts
HTML
22
star
43

buildkite-jobify

๐Ÿ‘ท Kubekite, but in Rust, using configuration from your repos ๐Ÿฆ€
Rust
21
star
44

spirv-tools-rs

๐Ÿ›  Wrapper crate for SPIRV-Tools ๐Ÿฆ€
C++
20
star
45

emote

Reinforcement learning library from Embark Studios
Python
19
star
46

proto-gen

A protobuf generation runner/cli using tonic build
Rust
18
star
47

rymder

Unofficial agones client SDK
Rust
17
star
48

sentry-contrib-rust

Integrates crashdump reporting with Sentry
Rust
15
star
49

tame-oidc

๐Ÿงฌ Small OAuth crate that follows the sans-io approach ๐Ÿฆ€
Rust
11
star
50

tame-webpurify

๐Ÿ’ฉ Small HTTP client for the Webpurify API following the sans-io approach ๐Ÿฆ€
Rust
9
star
51

cloud-dns

A wrapper for the Google Cloud DNS API (https://cloud.google.com/dns)
Rust
7
star
52

boh

Rust
5
star
53

tracing-ext-ffi-subscriber

Simple subscriber for forwarding tracing spans to a C or C++ profiling API.
Rust
4
star
54

server-code-exciser

A program that contains grammars and functionality to remove server only code from code bases.
C#
4
star
55

gke-accelerated-xorg-example

Example project for running remote rendering on GKE
Dockerfile
3
star
56

helix-oidc

๐Ÿงฌ Helix Perforce OIDC validator
Go
3
star
57

cassini

Topology-aware distributed cache
Go
2
star
58

minwin

Rust
2
star
59

container-packer-qemu

๐Ÿ“ฆ Dockerized packer with qemu
Dockerfile
1
star
60

rustc-compile-time-regress

Rust
1
star
61

missing-symbols

Rust
1
star
62

.github

Default community health files for GitHub (https://help.github.com/en/github/building-a-strong-community/creating-a-default-community-health-file-for-your-organization)
1
star
63

toml-span

Span preserving toml deserializer
Rust
1
star