Crazytalk Animator 2 Development

Crazytalk Animator 2 is my first project in Reallusion. In this project, I mainly responsible for integration of Content Manager, Scene Manager and support other modules during test period. Content Manager is a module that manages the contents of application and user created. It provided basic file operations such as load, save, copy, and paste. Scene Manager is a module that shows the nodes of the scene tree, so that user can select, delete, copy/past and show/hide the objects. Other integrations such as context menus, drag and drop behaviors, and hotkey are also modules I responsible for in this project.

Crazytalk Animator 2 是進甲尚接觸的第一個專案,在這個專案裡面我主要負責軟體的整合,主要負責的模組有 Content Manager 、 Scene Manager 、以及其他 AP 整合的相關功能。

Content Manager 是管理產品 Content 的模組,提供類似檔案總管的功能對 Content 檔案管理,讀取寫入等。Scene Manager 則是顯示整個專案樹底下每個物件的節點,提供使用者基本操作像是選取、刪除、複製等。其他 AP 整合部分如:右鍵選單整理、滑鼠拖曳的行為、熱鍵等。

We used Qt GUI Framework in this project, and implemented some custom widgets according to our needs. I also developed a rapid code generation tool to reduce the cost of development due to we need to wrote lots of repeated code for our Qt structure. Besides, I also made suggestion to some UI design to increase the usability of the product. 

這個專案主要使用了 Qt 作為 GUI Framework ,並視情況實作相關的自訂 UI 元件,實作了相關的程式碼產生工具,減少的開發成本,並改善 UI 元件的設計,讓產品易用性提高。此專案最有挑戰之處是,這個專案在我進入公司滿三個月後,隨即進入測試階段,能夠在這麼短的時間內上手,進入測試讓產品順利上市。

I responsible for Mac version development in Crazytalk Animator 2.1 upgrade. I updated the Qt library we used and changed our product from 32 bit to 64 bit version. The challenges are I have to be familiar to Mac’s environment, not only the IDE but Mac’s structure and library it use. I also dealt with lots of cross-platform memory size and saved file memory alignment issues. All of these experiences in this project are valuable to me.

Crazytalk Animator 2.1 更新的部分我主要負責 Mac 版的移植,以及將 Qt 的版本更新,最後是將 32 位元的產品改為 64 位元。這個專案的挑戰除了要熟悉 Mac 的開發環境外,部分的 Open Source 函式庫也需要對應 Mac 的 C++ 標準重新編譯。將產品升級到 64 位元時,除了跨平台的記憶體占用大小不同的問題外,也遇到許多舊的存出檔案到 64 位元上有記憶體對齊的問題,處理這些問題是這次專案學到最多也是最有挑戰性的部分。


Content Manager


Scene Manager (Composer Mode/Stage Mode)


Vector Grouping Tool