Hello,
I am a solo technical artists with the Qt framework and C++ skills. For a long time now, I have been contemplating the right time to transition from Maya to Blender, and I find myself still considering it. My primary concern revolves around C++ based plugin development in Blender.
The features I aim to develop involve real-time interactive custom manipulators. My goal is to significantly enhance the functionality of soft selection and enable real-time manipulation of multiple objects and keyframes simultaneously, suitable for modern animation and rigging workflows. I have successfully implemented similar functionalities in Maya using C++. I am keen to replicate these advanced tools within Blender and showcase my technical skills in that environment as well.
However, the most significant hurdle I perceive is the build process.
The tools I intend to create would likely suffer from performance bottlenecks if implemented solely in Python, making them difficult to use comfortably. This is because my plugin involves manipulating multiple controllers concurrently and caching numerous matrices across multiple frames, all at once.
In Maya, developing C++ plugins doesn’t necessitate rebuilding the entire application. Furthermore, even with version changes, plugins generally remain compatible as long as one consults the API patch notes.
From what I understand, Blender primarily supports Python scripting for addons. To achieve the low-level access, memory optimization, and real-time performance I require through C++, it seems necessary to build the entire Blender program from source. This aspect presents the biggest challenge for me.
I am still deliberating on this matter. Perhaps I am overcomplicating the issue? If I were to learn the build process and how to maintain my own custom version of Blender, would adding C++ functionality become less problematic?
Alternatively, as a developer aiming for tools with highly optimized C++ memory access and excellent real-time usability, is it perhaps too early for me to engage deeply with the Blender development community?
Developing C++ plugins in Maya felt relatively straightforward. If I were to maintain a custom Blender build, I worry about whether such a version could be shared with others, and whether I would need to research and implement the build process anew with every Blender version update. These potential complications are causing significant hesitation.
Although I am still working primarily within Maya, I have a strong desire to transition to Blender and become an active participant in its community. I am sharing these thoughts hoping for some perspective or advice.
Thank you for your time and any insights you might offer.