일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 충돌 #collider #pygame
- 폭발하는 효과
- sd-forge
- 베테랑2
- upscaler
- 충돌 알고리즘
- comfyui
- ChatGPT
- 게임개발
- Gym
- frozen lake
- 센류
- openAI
- Python
- layerdiffuse
- Ai
- 운석피하기 게임
- Stable diffusion
- on a sunny day
- 아무도 없는 숲속에서
- ADetailer
- hand refiner
- sd forge
- pygame
- 숨은 띵작
- 아이템 효과
- 시집
- 사랑인 줄 알았는데 부정맥
- gymnasium
- 엔티크숍
- Today
- Total
목록2024/08 (24)
스푸79 기록 보관소
지난 시간에 생성한 다양한 운석 덩어리들이 화면에 나오도록 처리했다.위에서 보듯 다양한 사이즈의 돌이 회전하면서 움직이고 있다.처음에 아무런 움직임없이 그냥 이동만 하는 것보다는 자연스럽다는 걸 알 수 있을 것이다. 우선 지난 번 코드 중에 실수한 부분부터 짚고 가겠다. def dispose(self): # 화면 밖으로 벗어나게 되면 객체를 삭제, memory leak 방지 if self.rect.x + self.rect.width + env.MARGIN = env.WIDTH: self.kill() elif self.rect.y + self.rect.height + env.MARGIN = env.HEIGHT: self.ki..
넥플릭스 드라마 고민시 배우님 되시겠다.연기가 너무 인상에 남아 오늘 포스트에 인물로 선정해 보았다. SD Forge의 Controlnet 중 Canny를 활용하여손그림 그린 듯한 스케치 사진으로 한번 옮겨 보는 방법을 알아보도록 하겠다. 모델과 프롬프트는 아래와 같이 설정했다. Checkpoint : dreamshaper_8Postive Prompt :(high quality), a line drawing, lineart, linework 인물스케치 처리를 위해서는 txt2img가 아니라 img2img를 선택한다. Generation > img2img를 선택한 후, 사진과 동일한 흰색 바탕의 이미지를 넣어줘야한다.우선 스케치할 이미지의 속성 창을 통해 폭과 높이를 확인한다.고민시 배우님 사진은 ..
우선 지난 포스트에서 말한 기존 운석 처리 코드의 문제점부터 수정해보겠다. 0.5초 간격으로 계속해서 Meteor 클래스는 새로운 객체로 생성이 된다.그런데 0.5초 간격으로 생성된 Meteor 객체는 언제 소멸이 될까?현재 소멸 처리를 해 주는 부분이 없다.물론, 화면에서 사라지지만화면에서 안 보일 뿐 해당 객체는 계속 화면 밖에서 동작을 하면서 메모리를 야금야금 쓰고 있을 것이다. 운석 피하기 게임이 1분 정도 진행되는거라면 괜찮겠지만만약 한시간 이상 계속 플레이가 된다면 어떻게 될까?시간이 지날 수록 사용되는 메모리는 계속 늘어날 것이고프로그램 속도는 점점 느려질 것이다.그러다 결국에는 out of memory가 되서 화면이 멈추거나 강제 종료가 될 것이다.이것을 일명 memroy leak 이라고 ..
LayerDiffuse는 생성된 이미지의 배경을 투명하게 처리해주는 기능이다. SD Forge로 작성된 이미지는 보통 배경이 포함된다.Negative Prompt로 배경이 없도록 처리해도이미지 자체는 뒤에 색상이 있기 때문에 원하는 부분만 추출하려면포토샵과 같은 다른 툴을 이용해서 뽑아내야한다. LayerDiffuse를 이용하면 이 부분을 AI가 자동으로 처리해준다.우선 아래와 같이 Extension 탭에서 Install form URL 로 접속해 layerdiffuse를 설치하도록 하자. https://github.com/lllyasviel/sd-forge-layerdiffuse GitHub - lllyasviel/sd-forge-layerdiffuse: [WIP] Layer Diffusion for ..
운석 피하기 게임이니깐 운석이 메인 캐릭터를 향해 날라오게 처리해 보도록 하겠다.ChatGPT님께 그동안 신세를 좀 졌으니오늘은 혼자 코딩을 해보겠다.ㅎ 우선 아래와 같은 총 8개의 운석 asset을 준비했다. meteor.py 파일을 새로 만들어서 Meteor class를 하나 새로 만들었다.총 4개의 운석 번호 01, 02, 03, 04 중에서 임의로 한개를 뽑고, 2개 형태의 운석 모양 중에 한개를 뽑도록 했다.import pygameimport randomfrom enviroment import Enviroment as envclass Meteor(pygame.sprite.Sprite): def __init__(self, s_pos, d_pos): super().__init__(..
오늘은 기존 코드에 배경을 추가할 생각이다.여러 개의 별이 위에서 아래로 흐르는 배경을 넣어서우주 공간에서 속도감 있게 움직이는 효과를 줄 생각이다.깔끔하게 ChatGPT에게 물어보면서 개발에 시작 하겠다. ChatGPT가 보여준 코드는 아래와 같다.class Star: def __init__(self): self.x = random.randint(0, screen_width) self.y = random.randint(-20, screen_height) self.speed = random.randint(1, 5) self.size = random.randint(1, 2) def move(self): self.y += sel..
SD Forge로 나의 블로그 메인에 넣을 이미지를 하나 생성하려고 한다.이번에는 LoRA를 활용해서이미지에 화풍을 적용할 생각이다. 그리고 업스케일링을 적용해서 큰 사이즈의 이미지로 변환하려고 한다. Checkpoint :autismmixSDXL_autismmixPony.safetensors Positive Prompt :score_9, score_8_up, score_7_up, score_6_up, score_5_up, c0mp, indoors, empty chair, monitor, desk, from behind, keyboard (computer), night, neon, Negative Prompt :bad quality, bad anatomy, worst quality, low qualit..
지난 포스트에서 작성한 코드 중 상수로 선언된 부분이 보인다.지금 하는 건 간단한 게임 개발이기 때문에 사실 그대로 둬도 큰 문제는 없다.하지만 실제 업무에서는 이렇게 사용하면 추후 유지보수에 문제가 발생할 여지가 많다. 예를 들어 화면 사이즈를 고객의 요청에 의해 800 x 800 이 아니라 1000 x 1000을 변경한다고 가정하면화면 사이즈를 바탕으로 코딩한 부분들을 모두 찾아서 일일히 수정해야하는 문제가 발생한다. 가급적이면 이런 부분을 방지하기 위해 상수 선언하는 부분을 별도로 만들어서해당 부분이 수정되면 전체에 적용되도록 처리하는 것이 좋은 방법이다. 기존 코드에 enviroment.py 를 새로 추가하고 아래와 같이 코드를 작성했다.import osclass Enviroment: GAM..