Interrogator를 이용해서 게임그래픽을 만들 수 있다??

  • 이미지를 지정하면, 그것을 텍스트로 설명해주는 생성형 AI 기술인 clip-interrogator
  • https://github.com/pharmapsychotic/clip-interrogator
  • 이것과 Stable Diffusion을 이용하면 정말 어려운 작업을 손쉽게 수행할 수 있는데요.
  • 특히 clip-interrogator은 Stable Diffusion Extension으로도 사용할 수 있기 때문에, 아주 간단하게 쓸 수 있어요.
  • 한 번 실험삼아 해볼까요? 오늘 생성형 이미지로 재현할 사진은 바로 아래 이미지 입니다.
    • Alt text
    • 1호선 빌런으로 유명한, 자르X84세
    • 이런 기상천외한 복장을 입은 사람의 사진을 SD가 재현할 수 있을까요?
  • Interrogator에게 해설을 요청합니다
    • 아래와 같은 text가 출력됩니다.
        arafed man dressed in a gold costume on a subway train, kpop amino, with an armor and a crown, korean traditional palace, the last photo ever taken, mallsoft, anno 1404, samurai, north korean slasher, 2045, bossfight
      
  • 이걸 이제 SD에 prompt로 입력하구요.
  • 컨트롤넷을 이용해서 유사도를 높이고, ADetailer를 이용해서 얼굴이 일그러지지 않도록 해보겠습니다.
  • 그러자 아래와 같은 이미지들이 만들어 집니다.
    • Alt text
    • 어떤가요? 비슷한가요??

게임그래픽도 가능할까??

  • 이번에는 레트로 2D RPG 게임화면을 Interrogator에게 설명해보라고 했습니다.
      a close up of a map of a park, 2d  sprites asset sheet, pokemon style, trees reflecting on the lake, friendly guy and small creature, stable diffusion ai, next to a red barn, pixelart, pathway, midwest countryside, perfectly shaded, travelers, website banner
    
  • 이번에는 이런 Prompt를 만들어내는군요. 여기에 (top view:1.3), (2d game map:1.3), (2d sprite:1.3),seen from above the sky,(2d rpg game map:1.3)를 추가해서 조금 더 완성도를 높여 봤습니다.
  • 2D 게임 그래픽을 만들거기 때문에, negative prompt에 3d, quarter view를 입력했습니다.
  • 그러자 아래와 같은 이미지들이 만들어집니다.
    • Alt text
    • 이 이미지를 잘 가공하면 그래픽 디자이너 없이 게임도 만들 수 있겠어요~

지라(JIRA)의 자동화 기능을 이용해서 새로 달린 댓글의 멘션을 디스코드로 보내기

  • 저희팀은 이슈트래커는 지라를, 메신저는 디스코드를 사용하고 있습니다.
  • 누군가를 언급하는 댓글, 즉 멘션이 발생했을 때 디스코드의 특정 채널에 전달되면 바로 확인할 수 있어서 좋겠죠.
  • 지라의 자동화 기능은 템플릿을 제공하는데요, 안타깝게도 멘션에 관한 것은 없습니다. 당연히 디스코드에 대응되는 것도 없구요.
  • 그래서 지라의 Smart Value를 이용해서 직접 만들어 보기로 했습니다.
  • 이때 두 가지 개념에 대한 이해가 필요한데요.
    • 첫째 지라에서 사용하는 accountId
    • 둘째 디스코드의 webhook
  • 아래에서 차근 차근 설명해 보겠습니다.

지라의 accountId

  • 지라에서 특정 이슈에 멘션이 @ㅁㅁㅁㅁ 빨리 처리해주세요 달린 댓글을 작성하면, 아래와 같은 형식으로 저장이 됩니다.
    [~accountId:XXXXXXXXXXXXXXXXXXXXXXXXXX] 빨리 처리해주세요
    
  • 그러니까 ㅁㅁㅁㅁ 의 사용자ID인 accountId로 저장이 된다는 거에요.
  • 그런데 이걸 자동화 기능에서 comment.bodyissues.comments.last.body 로 가져오려고하면 저장된 형태 그대로 가져오게 됩니다.
  • 디스코드에는 ㅁㅁㅁㅁ 로 표기되어야 하지만 그렇게 안된다는 거죠. 아래처럼 갑니다.
    • Alt text
  • 이걸 사용자 이름으로 바꾸려고 온갖 방법을 찾아봤지만 결국 실패했어요. ㅠㅠ
  • 그래서 if 노가다로 처리했습니다. 예제 코드는 아래와 같습니다.
  • Alt text
  • 주의 하실 점은 중간에 공백문자 들어가면 오류날 수 있다는 점이에요. 아무튼 잘 도착하면 아래처럼 메시지가 전달됩니다. Alt text

디스코드의 webhook

  • 물론 이 모든것은 디스코드 상에서 webhook url을 만든 다음에 수행할 수 있다는 점 잊지마세요.
  • 디스코드 채널 편집 메뉴에서 연동을 선택하면, 웹후크를 만들고 수정할 수 있는 화면이 나옵니다. Alt text
  • 웹후크 URL 복사를 통해서 확보한 URL을 지라의 자동화 메뉴에서 웹 요청전송 부분에 입력하면 됩니다. Alt text

지라(JIRA)의 자동화 기능을 이용해서 이슈 할당하기

  • 저희 팀이 사용하는 지라의 프로젝트는 조금 이상합니다.
  • 다름이 아니라 “담당자”를 지정해도 그 사람으로 할당이 되지 않는거에요.
  • 칸반보드에서 작업자 별로 구분해서 보려면 할당이 되어야 하는데, 그게 매우 힘듭니다.
  • 할당되지 않은 상태의 이슈중, 최하단에 있는것만 할당을 할 수 있는 상태입니다.
  • 아무래도 버그이거나, 가격플랜상의 제약같은데요…
  • 그렇다면 “자동화”를 이용해서 “담당자”를 바꿀때, 해당 트리거를 일으킨 사람에게 할당을 하면 되지 않을까요?
  • 지라의 이슈에는 여러가지 필드가 있는데 그 중에 “담당자”도 포함되더라구요.

1차시도(실패)

  • 먼저 프로젝트 설정의 오토메이션으로 들어간 다음, 자동화 규칙을 하나 만듭니다.
    • Alt text
  • 그리고 트리거 종류로 “필드 값이 변경됨”을 선택하고, 아래 화면처럼 값을 지정합니다.
    • Alt text
  • 트리거 발생시 이슈 할당이 일어나게 하고, 대상은 트리거한 사용자로 합니다.
    • Alt text
  • 그런 다음 이슈의 담당자를 지정해 보겠습니다.
    • Alt text
  • 안타깝게도 안됩니다. 담당자=할당받는자 개념은 맞는것 같은데, 뭔가 칸반보드 상에 버그가 있는것 같습니다.

2차시도

  • 이번에는 특정 “레이블”을 달 때, 할당이 되도록 해보겠습니다. 아래와 같은 레이블이 달리면 저에게 자동할당 시키겠습니다.
    • Alt text
  • 이슈페이지로 들어가서 레이블을 달아봤습니다. 담당자는 저로 되어 있지만, 칸반보드상에서는 할당자가 없는 상태였는데요…
    • Alt text
  • 오! 이제 되네요.
    • Alt text
  • 버그인지, 가격플랜의 제약인지는 모르겠지만 어쩔수 없이 이름을 자동화를 이용하는 수 밖에 없을것 같네요.