https://perchance.org/mytestgen#edit In this generator, I have a suit list that consists of 5 areas: mask, cape, boots etc. The other two lists are “camera” and “actor”. So, camera can zoom-in on a certain body part, and I need it to output only that section of clothing, leaving everything else out-of-frame. That I solved. But there’s a third dimension to it. The third list is Actor, some characters cannot wear certain clothes because of their characteristics, for example, mermaid can’t wear bottom clothes. Help me add that third dimension into the output line to filter it out properly, please.

  • VioneTM
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    9 days ago

    You should select the actor first, to filter the clothes that it can wear. Then, select the camera to further filter the clothes that would be displayed that depends on the framing.

    EDIT: Here is a test gen for it: https://perchance.org/ho5e2n0vwt

    • KotoOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      btw, .some is a neat method, I overlooked it before.

    • KotoOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      Thanks for your answers! You gave me some good ideas there. But dynamic odds is what I was trying to avoid because I have 200+ suits, not just batman uniform, I can’t spell it out in each of them and was trying to make one line rule for them all. Index 0 - png, index 1 is top, index 2 is mid, etc.

      • VioneTM
        link
        fedilink
        English
        arrow-up
        3
        ·
        8 days ago

        You can have each of the suits into a single list, then control that parent list. E.g.

        Uniform
          https://user.uploads.dev/file/53321b33603b8f9f386fb870db73ad65.png
          [Top] ^[camera.includes("top") && actor != "dryad"]
          [Mid] ^[camera.includes("mid") && actor != "angel"]
          [Low] ^[camera.includes("low") && !["mermaid", "minotaur"].includes(actor)]
          [Rear] ^[camera.includes("rear") && actor != "angel"]
          [TopMidLow] ^[["top", "mid", "low"].some(a => camera.includes(a))]
        
        
        Top
          batman mask ^[specificCostume == "batman"]
          ...
        
        Mid
          batman suit with batman logo on the chest, batman gloves, batman belt ^[specificCostume == "batman"]
          ...
        
        • KotoOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          8 days ago

          Good idea but that would be a hell of a job to track all the pieces across different lists plus specification for each piece where it goes. Since I’m lazy I just did:

          Uniform
            https://user.uploads.dev/file/53321b33603b8f9f386fb870db73ad65.png
            top=batman mask
            mid=batman suit with batman logo on the chest, batman gloves, batman belt
            low=batman pants, batman boots
            rear=batman cape, mask straps on the back of the head
            noZoom=[this.top], [this.mid], [this.low], partially visible batman cape on the sides
          

          and then just call it like [Uniform[camera]]. I can easily filter out different actor specifications now.