Stable diffusion에 대한 동영상 가이드를 만들고 있습니다.

https://www.youtube.com/watch?v=vv52GrT6Bjc

 

https://www.youtube.com/watch?v=OdYWGL2qreM

 

 

https://www.youtube.com/watch?v=bb6v1ynImfE

 

https://www.youtube.com/watch?v=T2nIEzNAAWo

 

https://www.youtube.com/watch?v=Gc2MWI8a55I

 

'AI' 카테고리의 다른 글

회사 프로젝트 : 원화  (0) 2024.06.10
Leonardo.Ai  (0) 2023.05.19
로고 만들기 (stable-diffusion-webui)  (0) 2023.04.28
여자 히어로 (stable-diffusion-webui)  (0) 2023.04.13
여자모델 (stable-diffusion-webui)  (0) 2023.04.05

여러 가지 문제를 해결하기 위해서 개발하면서 아트 쪽 이슈를 해결하기 위해서 이것저것 툴을 계속 만들다 보니 어느새 꽤 많이 쌓였군요.

이번에 애니메이션쪽 이벤트관련하여 너무 많은 리소스가 있어서 불필요한 이벤트를 삭제해야 하는데, 일일이 손으로 할려니 놓치는 것이 꽤 많더군요.

불필요한 이벤트를 애니메이션에서 삭제할 수 있도록 검색하는 툴을 오랜만에 추가했습니다.

ChatGPT를 이용하니 1시간도 안걸리는군요.

예전 같으면 하루종일 구글 뒤적거리면서 코드 짜는데 이틀은 걸렸을 텐데...

 

 

Stable Diffusion으로 다양한 학습 방법을 시도하였고, 원하는 스타일로 안착이 되었습니다.

다른것보다 학습시키는 시간이 인내의 시간이었네요. 학습 방법에 대한 가이드가 많지 않고 정해져있는 방식이 아니다보니, 100번도 넘게 재학습 시키고 테스트했던거 같습니다.

'AI' 카테고리의 다른 글

Stable diffusion 처음 사용자를 위한 기초  (0) 2024.07.01
Leonardo.Ai  (0) 2023.05.19
로고 만들기 (stable-diffusion-webui)  (0) 2023.04.28
여자 히어로 (stable-diffusion-webui)  (0) 2023.04.13
여자모델 (stable-diffusion-webui)  (0) 2023.04.05

몇 달간 계속 Stable Diffusion을 공부하였습니다.

미션은 내부 원화를 AI 제작을 하도록 하는 미션이었습니다.

이게 제대로 된 로직을 찾기가 참 쉽지 않더군요.

아마도 현재 학습에 성공하신 분들은 아시겠지만, 이게 케이스바이케이스고 결국 노우하우일 수밖에 없다는 생각이 들더군요.

수차례에 실험을 반복해야 하고 끈기와 시간이 필요한 작업이었습니다.

아래는 저희가 목표로 하는 원화 스타일이었습니다.

 

 

아래는 중간과정인데, 얼추 비슷한 느낌이 들었지만 원화와는 목표했던 바와는 다르다는 느낌이더군요.

 

아래는 현재 여러방식을 사용해 낸 결과입니다. 나름 안착을 한듯합니다.

 

Stable Diffusion에 각종 에러와 버전과 정말 온갖 고충이 있던 거 같습니다.

어찌 되었던 결과에 다다르고 있어서 나름 만족스러운거 같습니다.

'업무일지' 카테고리의 다른 글

업무일지<Tool>  (0) 2024.06.27
업무일지 <HDRP를 URP로 변경중>  (0) 2024.03.27
업무일지 <WebGL과 WebGPU>  (0) 2024.03.13
업무일지 <HDRP -> URP로 컨버팅중>  (0) 2024.03.08
업무일지 <그래픽 오류를 찾아라>  (0) 2024.02.19

PC 기반의 게임을 모바일로 옮기고 있습니다.
HDRP는 아직 모바일이 지원되지 않아 URP로 셰이더를 변경을 하고 있는 중입니다.
최대한 HDRP의 느낌을 살리려고 하고 있어서 비교샷을 한번 준비해 봤습니다.
진행중긴 한데, HDRP가 그림자의 깊이감과 전반적인 컬러감이 좋습니다.

회사에서 기존 게임을 웹으로 개발이 가능한지 문의하였습니다.

저의 5년 전 기억으로는 포퍼먼스 문제가 많아 그리 녹녹하지 않았던 기억이라 일단은 좋지 않을 거라고 이야기는 했습니다.

그리고 다시 한번 WebGL이 어느정도 발전되었는지 알아보았습니다.

1년 전쯤에 WebGPU라는 새로운 API가 나왔고  WebGL의 후속 모델이고 많은 그래픽적인 향상이 있었던 거습니다.

 

웹게임은 일단 단독으로 실행이 되는 런처가 아니라 웹브라우저를 기반으로 사용하는 거라 제약적인 부분이 많이 있다고 알고 있습니다.  그래서 메모리를 얼마나 효과적으로 쓰느냐가 관건인 걸로 기억합니다.

 

웹 게임을 좀 찾아보았는데, 꽤 퀄리티 있게 만든 게임이 있더군요.

https://miniroyale.io/ 

 

Mini Royale: Nations

Battle for control of different nations with your Clan and become an economic or military superpower. Proudly made by Faraway

miniroyale.io

 

제가 처음에 개발했을 때는 모바일게임의 초창기 모습이랑 비슷하였는데, 지금은 좀 더 진전이 있는 거 같아 보입니다.

 

크롬 브라우저도 WebGPU를 지원한다고 했으니, 조만간 웹 3D게임에 큰 발전이 있을 거 같은 생각이 드네요.

그리고 유니티도 2023 이후 버전에 WebGPU를 넣을 생각인듯합니다.

Reflection Probes를 사용하는 이유는 캐릭터 같은 동적인 오브젝트가 반사를 사용이 필요할때 사용하는데, 이것이 중요한 게임이 있을 수 있습니다.

모바일에서는 필요하지 않다면 쓸 이유는 없어 보이는군요.

HDRP개발된 게임을 모바일 서비스를 준비하기 위해서 URP로 컨버팅 작업을 진행하고 있었습니다.

 

처음에는 유니티 HDRP에서 Vulkan이 지원한다기에 요즘 모바일 기기에서는 Vulkan이 지원되기 때문에 Vulkan을 이용하여 HDRP를 그대로 모바일로 컨버팅을 시도했는데, 실제 Vulkan으로 하면 "지원하지 않습니다."라고 나옵니다.

Vulkan이 나온 지 10년이 가까이 되고 있는데, 아직까지는 모바일게임에 쓰는 데는 어려움이 있나 봅니다.

 

결국 포기하고 URP로 컨버팅을 하고 있습니다. 그래도 예전 유니티버전에 비해서 편리한 점이 셰이더가 HDRP에서 URP로 컨버팅이 비교적 쉽기 때문에 일부 설정만 좀 수정하면 무리 없이 변경이 가능해서 그리 어려움은 없는 거 같습니다.

하지만, 게임이 개발된 베이스가 HDRP다 보니 HDRP관련 코드가 게임 안에 많이 존재하여 이 부분은 클라이언트 지원을 받아서 진행하고 있습니다. 카메라 스크립트에서 HDRP 관련 오류가 많아 작업이 좀 지연되고 있습니다.

 

 

 

게임은 런칭이 되었고, 뭐 그럭저럭 진행되고 있습니다.

라이브라 그래픽 업무는 다소 줄어들었습니다. 아울러 TA 업무가 많이 줄어든 게 느껴집니다.

이미 해결할일들은 대부분 해결하였기 때문일 겁니다.

TA가 라이브에 바쁘다는 건 큰 문제가 발생한 것일 겁니다.

 

그래서 버그를 열심히 찾고 있습니다. 계속 인지하고 있지만, 아무도 원인을 못찾고 있는 치명적이진 않으나 가끔 나타나는 문제가 있습니다. 순간적으로 UI를 제외한 모든 오브젝트가 안보이는 상황이 발생하였는데, 정확한 원인을 못밝혔습니다.

엄밀말하면, 클라쪽에서 봐야할 문제로 여겨지는데 비교적 여유로운 제가 보고 있습니다.

 

UI만 보인다는건 카메라가 오브젝트를 그리지 못하거나, 무언가 가려졌다는 뜻인데...아무리 봐도 UI에서 설정한 Fade될때 까맣게 되는 설정문제인거 같은데... 확실한 증거를 못찾았습니다.

코드에도 이게 호출되는건 처음 한번이라 다시 호출될일이 없습니다.

그래서 일단 Fade라는 놈이 발생될때 로그가 남도록 코드를 넣어놨는데... 안나오는군요... 워낙 불규칙하게 나왔던 문제라... 

 

 

'업무일지' 카테고리의 다른 글

업무일지 <WebGL과 WebGPU>  (0) 2024.03.13
업무일지 <HDRP -> URP로 컨버팅중>  (0) 2024.03.08
업무일지 <Mipmap을 제어>  (0) 2023.12.01
업무일지 <메모리 테스트>  (0) 2023.11.20
업무일지 <점검툴>  (0) 2023.11.16

예전부터 계속 알아봤던 것중 하나는 Mipmap 제어를 수동으로 할수 있느냐 였습니다.

최근에, 방법을 알게되었는데, 전에 분명히 한번쯤 본거 같네요. 이걸 그때는 그냥 지나쳤던거 같습니다.

 

Mipmap 제어를 카메라에 넣어서 코드로 구현이 가능하다는걸 알았는데...

되긴하는데... 이게 엄청난 포퍼먼스가 먹는군요.

그냥 Mipmap 범위를 수정하고 싶었는데... 이게 계속 update에서 돌고 있어서 엄청난 과부하가 됩니다.

방법은 알았으나... 쓸수 없는 기술이라니...

더보기
using UnityEngine;

public class MipmapController : MonoBehaviour
{
    public Camera mainCamera; // 메인 카메라
    public float thresholdDistance = 10f; // 거리 임계값
    public float nearBias = 0f; // 가까울 때의 Bias 값
    public float farBias = 1f; // 멀 때의 Bias 값

    void Update()
    {
        // 모든 Renderer 컴포넌트를 찾습니다
        Renderer[] renderers = FindObjectsOfType<Renderer>();

        foreach (Renderer rend in renderers)
        {
            // Renderer에 적용된 모든 Material을 순회합니다
            foreach (Material mat in rend.materials)
            {
                // Material에 적용된 모든 Texture를 순회합니다
                foreach (string textureName in mat.GetTexturePropertyNames())
                {
                    Texture texture = mat.GetTexture(textureName);
                    if (texture != null)
                    {
                        // 카메라와의 거리를 계산합니다
                        float distance = Vector3.Distance(mainCamera.transform.position, rend.transform.position);

                        // 거리에 따른 Mipmap Bias를 설정합니다
                        if (distance <= thresholdDistance)
                        {
                            texture.mipMapBias = nearBias;
                        }
                        else
                        {
                            texture.mipMapBias = farBias;
                        }
                    }
                }
            }
        }
    }
}

 

 

그러고보면 유니티 내부에 있는 Mipmap 기능은 정말 뛰어난 기능이라는 생각이 들더군요. 부하없이 된다는게 정말 대단한 기술이라는 생각이 들긴합니다.

 

'업무일지' 카테고리의 다른 글

업무일지 <HDRP -> URP로 컨버팅중>  (0) 2024.03.08
업무일지 <그래픽 오류를 찾아라>  (0) 2024.02.19
업무일지 <메모리 테스트>  (0) 2023.11.20
업무일지 <점검툴>  (0) 2023.11.16
업무일지 <Test용 이동>  (0) 2023.10.30