正如任何嘗試開發復雜動畫的人都會知道的那樣,當然許多插件開發人員也會知道,Cinema 4D的優先系統是有限的,至少可以說是有限的。該系統確定場景中各種對象執行其角色的順序。具有相同優先級的對象將按照它們出現在對象管理器中的順序執行。
除非您的動畫中正確播放取決于某些功能先于其他功能執行,否則這無關緊要。在X-Particle中,發射器必須具有優先級,因為它必須在Generator,Sprite等之前執行其功能。這些優先級是在內部設置的,用戶不能更改。
priority-1.jpg
在標記中,優先級設置為Expression,值為0(零),而發射器內部設置為Animation +10。這意味著發射器在標記之前完成其執行,因此它發射粒子,然后移動將標簽移到新位置。在下一幀中,它將發射另一個粒子爆發,但位置不同。 現在,如果我們將標簽優先級更改為“動畫”,以便標簽在發射器之前開始執行,那么一切都會按預期進行:
priority-2.jpg
在這種情況下,標簽開始移動發射器,然后(使用子幀發射)在移動時發射粒子。
如果遇到這樣的問題(似乎無法正常工作),請考慮可能的優先級沖突。您可以更改許多Cinema功能的優先級,而您只需要知道將其更改為什么內容即可。下表列出了分配給各種X-Particle對象的優先級:Snipaste_2020-12-21_02-16-31.png
現在您可以看到為什么將“對齊樣條線”標記優先級設置為“動畫”的原因。實際上,如果將其設置為Animation + 9(因為它小于Emitter的優先級),它將起作用,但在Animation + 10時失敗。
希望這將使您解決這些煩人的問題。這不是X-Particle的錯,這是Cinema 4D中優先系統的本質。C4D優先權規則圖示