Maya 2017 on Ubuntu 17.04

This is going to be a post mainly for myself so I can remember it whenever I have to inevitably set it up again.

This will ape off of Frederik Averpil's prior article without which, I would have given up in desperation. So thanks to him for publishing his steps …

Design notes

Abstraction means dealing with the level of detail that is most appropriate to a given task.

Composition is the act of collecting several objects together to create a new one.

Polymorphism is the ability to treat a class differently depending on which subclass is implemented.

Making python package scripts headless.

This is a quick one. I had to figure this out a few weeks back and it wasn't stated anywhere explicitly, so I guess I should write a blog post in case I forget it in the future.

I write a lot of Python at work, and it's pretty common …

Qt5 with OpenGL CMake

cmake_minimum_required(VERSION 3.6)
project(writer)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build)

find_package(Qt5 REQUIRED COMPONENTS Widgets Core)
find_package(glfw3 3.2 REQUIRED)
find_package(OpenGL REQUIRED)

set(SOURCE_FILES main.cpp)
add_executable(writer ${SOURCE_FILES})
qt5_use_modules(writer Core Gui Widgets)


include_directories(${OPENGL_INCLUDE_DIR …

OpenGL with CMake

cmake_minimum_required(VERSION 3.6)
project(ogl)

set(CMAKE_CXX_STANDARD 11)

find_package(glfw3 3.2 REQUIRED)
find_package(OpenGL REQUIRED)

if (OPENGL_FOUND)
    message("opengl found")
    message("include dir: ${OPENGL_INCLUDE_DIR}")
    message("link libraries: ${OPENGL_gl_LIBRARY}")
else (OPENGL_FOUND)
    message("opengl not found")
endif()


set(SOURCE_FILES main.cpp)
add_executable(ogl ${SOURCE_FILES})

include_directories(${OPENGL_INCLUDE_DIR})

target_link_libraries(ogl ${OPENGL_gl_LIBRARY} glfw …

Boost with CMake

Boost installed via brew

cmake_minimum_required(VERSION 3.6)
project(boost_stuff)

SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build")
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/lib")

find_package(Boost 1.62.0 COMPONENTS system filesystem REQUIRED)
if (Boost_FOUND)
    message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
    message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
    message(STATUS "Boost_VERSION: ${Boost_VERSION}")

    include_directories(${Boost_INCLUDE_DIRS})

endif()

set(SOURCE_FILES main.cpp)
add_executable(boost_stuff …

Maya with CMake

cmake_minimum_required(VERSION 2.6)
project(animagi)

set(MAYA_VERSION 2017 CACHE STRING "Maya Version Number")
set(SOURCE_FILES
        "src/pluginMain.cpp"
        )

set(CMAKE_MACOSX_RPATH 1)
FIND_PACKAGE(OpenGL REQUIRED)

set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/bin)

# OS Specific environment setup
SET(CUSTOM_DEFINITIONS "REQUIRE_IOSTREAM;_BOOL")
SET(MAYA_INSTALL_BASE_SUFFIX "")
SET(MAYA_INC_SUFFIX "include")
SET(MAYA_LIB_SUFFIX "lib")
IF(WIN32)
    # Windows
    SET(MAYA_INSTALL_BASE_DEFAULT …

Remove Maya Sign-In Button from 2017

Maya 2017 introduced a lot of cool features and one really ugly one: this new "Sign In" button at the top of the screen.

Normally, I wouldn't really care about it, but it doesn't really have a place in the program. They have the Autodesk Application Manager, so what's the …

Maya 2016 + Visual Studio 2015

Somebody over on Rigging Dojo posted a question about this today, and I wrote up a gist 6 months for it, so I thought I'd display this more prominantly.

Here's the link to the gist

And here's the steps if you don't want to click through:

MayaPluginWizard never works. Here …

Docsets

If you're not using Dash, Velocity, or Zeal as a docset manager, I highly recommend grabbing them immediately.

I've made docsets for Blender, Hiero, and PyMel and they're available through the Dash-User-Contributions.

The source for them is also available below:

Blender

Hiero

PyMel

Note: PyMel is for version 1.0 …

ART Tools Ported to OSX

The Animation and Rigging Toolkit has been used extensively since it was released, but it's always been missing one feature - it was never available for OS X.

I've ported over Jeremy Ernst's and Unreal Engine's ART tools to work cross-platform. A video is below showing them working.

Unreal Engine Animation …

Maya Setup In XCode

I wrote up a PDF for the Rigging Dojo C++ API course for how to set up XCode to work with Maya. I was the only person in the class using XCode, so I had to figure everything out by myself. I figured I would write up something to help …

Fresh Modo

This is a mix between a blog post and tutorial, I didn't really know which one to categorize it underneath.

Part of what I do is develop custom builds of Modo, and it's pretty fun. But Modo, like every program, has settings files that store all your user settings and …

Scripting Kit in Modo

I recorded this video a few years ago demonstrating how to build a kit in Modo. It goes through the basics of normal kit setup and by the end of it, you make a kit that gives you a scripting layout to work in. The Scripting layout isn't really useful …