Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sho7noka/yurlungur
The universal scripting wrapper for Maya, Houdini and Unreal Engine.
https://github.com/sho7noka/yurlungur
blender houdini maya python unity3d unreal-engine
Last synced: 13 days ago
JSON representation
The universal scripting wrapper for Maya, Houdini and Unreal Engine.
- Host: GitHub
- URL: https://github.com/sho7noka/yurlungur
- Owner: sho7noka
- License: other
- Created: 2017-05-22T08:49:43.000Z (over 7 years ago)
- Default Branch: dev
- Last Pushed: 2023-09-16T09:11:46.000Z (about 1 year ago)
- Last Synced: 2024-11-07T20:01:17.034Z (13 days ago)
- Topics: blender, houdini, maya, python, unity3d, unreal-engine
- Language: Python
- Homepage: https://sho7noka.github.io/Yurlungur/.
- Size: 7.99 MB
- Stars: 66
- Watchers: 10
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Yurlungur
| | Windows | CentOS/macOS | packages |
| ----- | --- | --- | --- |
| status | | | [![Latest PyPI version](https://img.shields.io/pypi/v/yurlungur.svg)](https://pypi.python.org/pypi/yurlungur) |The universal scripting environment with Python which Maya, Houdini and Unreal Engine.
## summary
DCC tool scripting is almost used Python, but these api isn't similarly anything.
If you make lightweight tool, need to remember each application manners.
Yurlungur is common interface which adapted each application for universal wrapper.Yurlungur is inspired by [PyMEL](https://github.com/LumaPictures/pymel).
### future
Yurlungur is pure Python and can be used **synchronously** in mixed Python2 and Python3 environments with RPC.* Houdini Object Model like command wrapper.
* Qt for Python shorten accessor.
* Useful snippets for Game&VFX technical artist.### available
| | Node | Attribute | Sync |
| ---- | --- | --- | --- |
| Maya (2016~) | ○ | ○ | ○ |
| Substance 3D Designer (2018.1.2~) | ○ | ○ | ☓ |
| Houdini (16~) | ○ | ○ | ○ |
| Unreal (4.22~) | ○ | ○ | ☓ |
| Blender (2.80~) | ○ | ○ | ○ |
| Nuke (10~) | ○ | ○ | ☓ |
| DaVinci Resolve(&Fusion) (15~) | ○ | ○ | ☓ |
| Cinema 4D (R21~) | ○ | ○ | ☓ |
| 3dsMax (2017~) | ○ | ○ | ○ |
| Substance 3D Painter (2020~) | ☓ | ☓ | ○ |
| Marmoset Toolbag (3~) | ○ | ○ | ☓ |We also support Photoshop, Modo, Renderdoc(and RV).
#### Why Sync?
Some DCC applications that support Python, such as Substance3DPainter, MarmosetToolbag, and RenderDoc
There are also applications that specialize in specific functions and require less scene graph manipulation.A mechanism for pseudo-operation of the linked application from the host application can be created by using a
This is achieved by combining standard formats such as FBX and USD, RPC, shared maps and clipboards.The SDK can be used for vendor or proprietary applications, or for applications that are restricted by open source licenses and cannot embed the SDK in the application.
Users do not need to be constrained by vendor, proprietary application, or open source license restrictions that prevent the SDK from being built into the application.### Installation
```bash
$ pip install yurlungur
```#### optional
If you use UE4 Editor or Standalone for full supports, Yurlungur recommend `Qt for Python` module.```bash
$ pip install PySide2
```### semantics
```python
# Blender Python
import bpy
bpy.data.objects["foo"].bar = True
``````sh
// Maya MEL
setAttr "foo.bar" true;
``````cs
// Unity C#
using UnityEngine;
UnityEngine.GameObject.Find("foo").bar = true;
```YNode behaves as a base class for the object.
```python
# yurlungur
import yurlungur as yryr.Node("foo").bar.set(True)
```Sample scripts can be found [here](./sample/script/renamer.py).
## contribution
lets see [CONTRIBUTING](./.github/CONTRIBUTING.md).
## License
Yurlungur is [MIT](./LICENSE.md) License.