Visibility Track / Display Tag



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 21/05/2004 at 11:00, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.500 
    Platform:   Windows  ;   
    Language(s) :   C.O.F.F.E.E  ;

    ---------
    Hi,

    I am trying to get a COFFEE plugin to work that I developed under V7. It is creating a VisibilitySequence for an object and switches it on and off at a specific time. Under V8 thinks seem to be differnt. If I load the scene generated with the V7 plugin then the visibilty seems to be hooked into a DisplayTag and a Parameter Sequence is created.
    There is no documentation on visibilty in the DisplayTag class - I guess the COFFEE SDK is not uptodate here!
    Has anybody a clue how to create a visibility sequence and attach it to the new DisplayTag with COFFEE or do I have to do it with the C++ SDK?

    Ant hints are more then welcome!

    regards, Oliver



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 25/05/2004 at 18:05, xxxxxxxx wrote:

    It is correct that the functionality has moved to the display tag. Unfortunately C.O.F.F.E.E. can neither create animation track for tags, nor can it create the new kind of animation keys needed. So you're a bit out of luck. With the C++ SDK it would be possible to do this.
    A workaround would be to create your own animation visibility track in C.O.F.F.E.E. that sets the value in the display track. This expression is an example of such usage:

        
        
        GetOrCreateDisplayTag(op)  
        {  
          var tag = op->GetFirstTag();  
          while(tag && !instanceof(tag, DisplayTag))   
          {   
            tag = tag->GetNext();  
          }  
          if (!tag)  
          {  
            tag = new(DisplayTag);  
            if (tag)  
            {  
              op->InsertTag(tag, NULL);  
            }  
          }  
          return tag;  
        }
        
        
        
        
        enum // From Tdisplay.h  
        {  
         DISPLAYTAG_VISIBILITY      = 1006, // REAL  
         DISPLAYTAG_AFFECT_VISIBILITY   = 1012  // BOOL  
        };
        
        
        
        
        main(doc,op)  
        {  
          var tag = GetOrCreateDisplayTag(op);  
          var bc = tag->GetContainer();  
          bc->SetData(DISPLAYTAG_AFFECT_VISIBILITY, TRUE);  
          bc->SetData(DISPLAYTAG_VISIBILITY, doc->GetTime()->GetSecond());  
          tag->SetContainer(bc);  
        }
    

Log in to reply