상해팀에서 medium에서 FULL Texture를 쓰는것이 어떠냐고 제안이 왔습니다.

저희가 초반에 작업했을때 이미지가 많은 메모리를 가지고 있어서 medium에서 Textue를 half로 설정을 게임을 진행해 왔습니다.

 

워낙 오래전에 셋팅한 값이라 다시 테스트를 진행하였습니다.

 

A는 Full Teuxture고 B는 Half입니다. 그래픽쪽 메모리가 역시나 300에서 500메가 늘어나는걸 확인하였습니다.

하지만 저희가 원하는 그래픽카드의 VRAM은 4GB 1.15정도를 쓴다고 해서 문제가 될건 없는거 같습니다.

그래서 결론은 Full Texture를 적용해보기로..

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

업무일지 <그래픽 오류를 찾아라>  (0) 2024.02.19
업무일지 <Mipmap을 제어>  (0) 2023.12.01
업무일지 <점검툴>  (0) 2023.11.16
업무일지 <Test용 이동>  (0) 2023.10.30
업무일지<프로파일러 보는 방법>  (0) 2023.10.27

개발이 막바지에 이르고 있고, 최근에 만들어 놓으면 누군가 수정해서 변경이 되고, 또 누군가 건드려서 수정이 되는 등...

없던 그래픽 버그가 자꾸 발생하여, 이를 보완할 툴을 제작하고 있습니다.

몇 가지 체크사항을 리스트화하여 Editor로 잘못되어 있는걸 최종에서 한번 더 점검할 수 있는 구조를 만들고 있습니다.

코드가 길어지니... 점점 ChatGPT 의존적으로 되어가는군요... 코딩 능력이 점점 떨어지는 게 느껴지는데... 그걸 ChatGPT가 보완해주고 있습니다. ChatGPT가 없으면 이제 일이 힘들군요... 세상이 바뀌고 있다는 게 실감이 난다는..

골치 아픈건 ChatGPT에게 맡기고 창의적인 생각쪽으로...

 

더보기

대충 이런 툴이다. 

TA로 일하다 보니 느끼는 건데, 이런 관리 툴들을 꽤 만드는 거 같습니다.

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

업무일지 <Mipmap을 제어>  (0) 2023.12.01
업무일지 <메모리 테스트>  (0) 2023.11.20
업무일지 <Test용 이동>  (0) 2023.10.30
업무일지<프로파일러 보는 방법>  (0) 2023.10.27
업무일지<Animation 기능 추가>  (0) 2023.10.25

캐릭터가 순간 이동시에 문제되는 부분이 있어서 이를 테스트 하기 위해서 따로 코드를 만들었습니다.

캐릭터 이동을 단축키를 써서 이동하도록 구성했네요.

move script

오브젝트를 여러개 만들어서 순환 이동을 하게 만들어 봤습니다.

문제점이 잘 보이는군요. 해결 방법도 보이는거 같습니다.

move sample

 

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

업무일지 <메모리 테스트>  (0) 2023.11.20
업무일지 <점검툴>  (0) 2023.11.16
업무일지<프로파일러 보는 방법>  (0) 2023.10.27
업무일지<Animation 기능 추가>  (0) 2023.10.25
업무일지 <alpha 버그>  (0) 2023.10.04

유니티 프로파일러

Unity 프로파일러의 타임라인에서 각 컬러는 특정 작업 또는 작업 범주를 나타냅니다. 주어진 이미지에 기반하여, 컬러별로 주요 작업을 나열하면 다음과 같습니다:

 

초록색: 렌더링 (Rendering)

하늘색: 스크립트 (Scripts)

주황색: 물리 (Physics)

연한 청록색: 애니메이션 관련 작업 (Animation)

올리브색: 가비지(Garbage Collector)
노란색: VSync

붉은색: 글로벌 (Global Illumination)
보라색: UI 작업 (UI)

올리브색(?): 기타(Others)

 

전체적으로 해석하자면, 스크립트 > 기타 > 애니메이션 >= 랜더링 순으로 비중이 높은걸 알수 있습니다.

 

 

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

업무일지 <점검툴>  (0) 2023.11.16
업무일지 <Test용 이동>  (0) 2023.10.30
업무일지<Animation 기능 추가>  (0) 2023.10.25
업무일지 <alpha 버그>  (0) 2023.10.04
업무일지 <HDRP에 MainTex 관련 버그>  (0) 2023.09.27

애니메이터분들이 아웃게임 파트의 애니메이션을 볼 만한 적당한 기능이 없어 작업을 추가하였습니다.

문제는 기존 애니메이션 툴이 인게임 전용으로 만들어져 있다 보니, 약간에 고민이 되었습니다.

하여, 아웃게임 애니메이션을 확인할때는 인게임이 작동하지 않는 구조로 구성하였습니다.

(말은 거창하지만 그냥 온/오프)

 

그래서 버튼이 비활성화되는 구조의 스크립트를 추가하였습니다.

 

#if UNITY_EDITOR // 빌드시 영향이 없게 유니티에서만 돌아가게 하면 좋다.

public class PlayAnimation : MonoBehaviour
{
    private Animator animator;
    public Button[] targetButtons;  // 여러 버튼을 이 배열에 연결

    private void Awake()
    {
        animator = FindObjectOfType<Animator>();
    }

    private void Start()
    {
        // 시작할 때 MainTest 오브젝트가 존재하는지 확인
        if (GameObject.Find("MainTest") != null)
        {
            // MainTest 오브젝트가 존재하면 모든 버튼을 비활성화
            foreach (Button btn in targetButtons)
            {
                btn.gameObject.SetActive(false);
            }
        }
    }
    
    #endif

 

 

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

업무일지 <Test용 이동>  (0) 2023.10.30
업무일지<프로파일러 보는 방법>  (0) 2023.10.27
업무일지 <alpha 버그>  (0) 2023.10.04
업무일지 <HDRP에 MainTex 관련 버그>  (0) 2023.09.27
업무일지 <캐릭터 땀>  (0) 2023.09.06

High Definition RP version 12.1.7 에는 alpha 버그가 있습니다.

Shader Graph로 제작할 때 처음 알파값에 0 이하값이 들어가면 Shader가 무슨 이유인지 그 뒤로 알파가 안 되는 버그를 가지고 있습니다.

 

그래서 처음에 커스텀 셰이더를 제작 시에 알파부터 0 이하로 세팅이 되지 않도록 세팅을 하고 저장을 하면 그 뒤로 0을 넣어도 문제가 안 생깁니다.

HDRP alpha 버그

 

알고 있던 버그인데 까먹어서 다시 한참을 헤매었네요.

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

업무일지<프로파일러 보는 방법>  (0) 2023.10.27
업무일지<Animation 기능 추가>  (0) 2023.10.25
업무일지 <HDRP에 MainTex 관련 버그>  (0) 2023.09.27
업무일지 <캐릭터 땀>  (0) 2023.09.06
업무일지 <DLSS>  (0) 2023.08.23

이번에 캐릭터에 있는 투명 파이프를 표현하기 위해서 셰이더를 제작하였습니다.

헌데, 빌드전에는 에러가 없었는데, 화면에 그림은 제대로 그리면서 빌드하면 셰이더가 에러가 납니다.

빌드시 나는 에러는 대략 _MainTex가 없다는 메세지 였습니다.

_MainTex가 필요 없어서 만들지 않고 컬러만으로 조정해야하는 셰이더인데... 이게 왜 빌드시 문제가 되는지...

그래서 별 쓸모는 없지만, _MainTex관련 노드를 추가하였더니, 에러가 사라졌군요.

유니티 버전 2021.3.5f1을 사용하는데 _MainTex가 대부분 셰이더에 들어가서 몰랐는데, 없으면 에러가 나는 버그가 있군요.

더보기

Depth Write를 이용하면 버블이 카메라 위치에 따라 생겼다가 없어졌다 하는 효과가 있습니다.

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

업무일지<Animation 기능 추가>  (0) 2023.10.25
업무일지 <alpha 버그>  (0) 2023.10.04
업무일지 <캐릭터 땀>  (0) 2023.09.06
업무일지 <DLSS>  (0) 2023.08.23
업무일지 <애니메이션 타임슬라이더>  (0) 2023.08.09

캐릭터의 땀을 표현하는 노드를 구성중입니다.

문제는 이미 상당히 많은 캐릭터가 만들어져 있고, 캐릭터 얼굴의 UV 위치가 서로 다르기 때문에 캐릭터마다 텍스쳐를 한 장씩 추가한다는 건 좀 무리일 수 있습니다.

그러면, 어떻게 하면 한장의 텍스쳐로 처리할 수 있을까? 고민을 하였습니다.

그러다가 문득 생각이 들었습니다. 땀을 이루는 텍스쳐는 어차피 smoothness를 lerp처리할 것인데 캐릭터의 바디의 위치에 맞춰 텍스쳐의 Offset을 이동하여 조종하면 어떤가라는 생각이 들었습니다.

이 방법이 맞았습니다. 물론 UV에 따라 크고 작고 그런점이 있긴 하지만, 대략적으로 맞출 수 있을듯하네요.

시간에 따라 땀이 점점 발생하도록 구성하였습니다.

 

초기 HDRP 테스트했을 때 나라카가 DLSS을 사용하여 효과를 냈다는 글을 보고 저사양에서 테스트했었는데, 프레임 효과는 있지만, 품질이 좋지 않아서 포기했었습니다.

근데, 최고사양에서 최고 퀄리티인데 특정 맵에서 해상도가 2048로 플레이하면 프레임이 50 프레임대로 떨어진다고 하여 이 문제를 DLSS로 해결하는 게 어떤가라는 생각이 들어 테스트해보았습니다.

사실, DLSS은 오늘 3.5버전을 발표하였습니다. 이걸 보고 다시 한번 테스트하게 된 것인데 결론은.. 실패...

DLSS는 쉽게 이야기하면 원래 해상도가 2048인 모드에서 1024 이미지를 2048로 기술적으로 뻥튀기시키서 2048로 만들어서 포퍼먼스를 개선시키는 기능입니다.
업스케일이라고도 하는데 NVIDIA만 되는 AI 기술(?)이라고 합니다.

하여간... 테스트 하였는데, 숲이라 알파가 많은 오브젝트에서는 번짐 현상이 심하고 지글거림이 발생하여 포퍼먼스가 문제가 아니라 퀄리티가 떨어져서 다시 보류하였습니다. 제가 잘 몰라서 이런 결과가 나온 건지는 모르겠습니다만... 아직은 범용적인 기술도 아니라서 일단은 보류하기로...

애니메이션이 너무 빨라 리깅에 문제가 있는지 알수가 없는경우가 있어서 애니메이션 테스트 툴에 속도를 조종하는 스크립트를 추가하였습니다. (과거에는 이거 하나 넣는데 엄청난 시간을 들였을건데... GPT형이 너무 고마워...)

 

using UnityEngine;
using UnityEngine.UI;

public class TimeScaleHandler : MonoBehaviour
{
    // 게임 속도를 변경하려는 원하는 값으로 설정
    public float desiredTimeScale = 0.5f;
    public Slider timeScaleSlider; // UI 슬라이더 참조

    private void Start()
    {
        // 시작할 때, 원하는 시간 흐름 속도로 변경
        Time.timeScale = desiredTimeScale;
        timeScaleSlider.value = desiredTimeScale; // 슬라이더 초기값 설정

        // 슬라이더의 값을 변경할 때 발생하는 이벤트를 연결
        timeScaleSlider.onValueChanged.AddListener(OnTimeScaleChanged);
    }

    // 이벤트가 발생 했을 때 호출되는 이벤트 핸들러
    private void OnTimeScaleChanged(float value)
    {
        Time.timeScale = value;
    }
}

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

업무일지 <캐릭터 땀>  (0) 2023.09.06
업무일지 <DLSS>  (0) 2023.08.23
업무일지 <처음 설치하고 젠킨스 빌드시 확인해야할것>  (0) 2023.08.04
업무일지 <젠킨스 svn에러>  (0) 2023.08.03
업무일지 <Vulkan>  (0) 2023.08.02