Description
For my self-study I set out to learn WPF and .NET while using C# together with Python scripting to make an application that is able to automate repetitive tasks encountered while using DCC applications such as Autodesk Maya and SideFX Houdini.Features
Details
Start date: 11-2021. Duration: still in progress
C# Application
Programmers
Danny KruiswijkCodebase
https://github.com/Dannyfaction/CodeExamplesWhile comparing myself with the games industry by looking at vacancies in the Tools Programming department,
a recurring skill requirement kept coming up; experience with Microsoft WPF or Windows Forms.
After having researched both of these tools,
I made the conclusion that Windows Forms was outdated and discontinued (last features were added in 2014) while Microsoft WPF was still an ongoing project.
That's when I decided to start a new personal project to learn more about Microsoft WPF and C# with the .NET Framework.
During this time I was on a team called 'Tech Art' where I worked together with Technical Artists to aid Game Projects on their technical problems and provide Tools for their needs.
One topic came up within the team that it was annoying and slow to manually go over every asset to make sure it adheres to the different projects' conventions and budget (naming, polycount, pivot point position etc.).
Combining the personal project with the recurring problem from the artists in my team seemed seemed like a good solution as the Tool will actually be used by developers and helps their workflow for working on these game projects.
After doing some research on the most used DCC software in my team, I decided to make the Tool for SideFX Houdini and Autodesk Maya. The exciting part is that both of those DCC software can be completely controlled with Python without opening the DCC software, using Mayapy and Hython.
The power of this PipelineTool comes entirely from the Python scripts which are used to control the DCC software.
The solution is set up following the MVVM architectural pattern which has been standardized for WPF-applications and the functionalities of the projects are set up as Dynamic Linked Libraries (.dll) which makes it future proof for further expansion.