Overriding An Objects BaseDraw



  • On 28/07/2017 at 15:22, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   14 
    Platform:    Mac  ;  
    Language(s) :     C++  ;

    ---------
    Hi,

    Is there a way to prevent an object's BaseDraw output from showing up in the viewport? Similar to a Display Tag.    I want to put a tag plugin on a Spot Light and stop it from drawing in the viewport and instead use the Tag's BaseDraw to output something different.

    Dan



  • On 31/07/2017 at 02:59, xxxxxxxx wrote:

    Hi Dan,

    unfortunately there's no direct or official way to achieve this.

    We discussed a possible solution, which is probably not ideal and also shouldn't be considered as an official approach, but you may want to consider it anyway.

    You could use MSG_MENUPREPARE to create an additional Display tag. Setting the "Style" parameter in the Display tag to "Skeleton" would reduce the light to be drawn just as a point.
    Also you may run into issues using Draw() in your TagData directly. Instead doing the drawing in a SceneHook as described in this blog article could help then.


Log in to reply