해외팀에서 빌드시 인게임의 배경이 어둡게 나온다고 수정을 요청.
인게임 테스트 해봤는데, 정상임... 그럼 아웃게임에서 로드될때 뭔가 건드린다는 것으로 생각했으나 자신들은 한게 없다고함.
아무리 봐도 인게임 내부 문제는 아닌듯하고.. .
아웃게임쪽 빌드 환경을 직접 확인할길이 없어서 매번 답답함이 있음...


신규 캐릭터 머터리얼 셋팅작업...
(바빠서 못하고 있는 동안 애니팀에서 임의로 작업해서 올렸는데...파일이 꼬여있음...ㅠㅠ)


Jenkins 도 공부해야한다.

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

업무일지<Jenkins>  (0) 2022.10.14
업무일지<이틀소비>  (0) 2022.10.12
업무일지<wind>  (1) 2022.10.07
업무일지<Physics>  (0) 2022.10.06
업무일지<...>  (0) 2022.10.05

아까운 인재 한분이 사라졌네요.
동시대 아트쪽으로  일했던 사람으로서 존경하던 분인데 아타깝군요.
처음에 슈퍼애니라는 이름으로 홈페이지를 봤었는데 당시에 상당한 충격을 먹었던 기억이 있네요.
좋은 그림 많이 보여주어서 감사했습니다.

나무 흔들리는걸 bone ani으로 하느냐 gpu를 하느냐를 고민하던 차에... wind가 불현듯 생각이났습니다.
magica cloth에 역시나 기능이 있었군요.
만약 wind를 사용하면 덤으로 캐릭터 옷도 흔들린다. 나무로 인하여 캐릭터까지 덤으로 게임 퀄이 한층 더 올라갈수 있게 되었습니다.

팀에 반응도 좋았고 진행 결정.

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

업무일지<이틀소비>  (0) 2022.10.12
업무일지<또 빌드문제>  (0) 2022.10.11
업무일지<Physics>  (0) 2022.10.06
업무일지<...>  (0) 2022.10.05
업무일지<기억>  (0) 2022.10.04

물체 폭파관련되서 해결중입니다.
물체 파편들이 이상하게 고무공마냥 튕김... 아무리봐도 잘못된것이 없는데...

결국 소스를 다 뒤져봤고.. 내 문제는 아니었고... 원인은 주변에 프로그램에서 처리한 바운스가 이 파편에 영향을 주어서
마치 고무공마냥 튀었던거...
그래서 아래와 같이 Physics에 Object layer를 추가하여 영향을 받지 않도록 처리하였네요.


 

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

업무일지<또 빌드문제>  (0) 2022.10.11
업무일지<wind>  (1) 2022.10.07
업무일지<...>  (0) 2022.10.05
업무일지<기억>  (0) 2022.10.04
업무일지<Occulsion>  (0) 2022.09.30

부서지는 오브젝트를 처리중입니다.
프로그래머가 다른 물리부분을 피하기 위해서 파괴 오브젝트와 콜리더를 동시에 사라지게 만들었다는걸 인지하였어요.
문제는 그렇게 되면 안되는... 이런거 할때는 좀 같이 고민했으면 좋았을텐데...

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

업무일지<wind>  (1) 2022.10.07
업무일지<Physics>  (0) 2022.10.06
업무일지<기억>  (0) 2022.10.04
업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29

신규 스테이지 최적화 완료.


신규 캐릭터 Material 작업 / Texture 셋팅


오브젝트가 파괴되는 부분에 대한 코드를 만든지 오래되서 기억이 가물하여 한참을 들여다봄.
프로그램팀에서 좀더 효과적으로 코드를 고친거 같음.
이해가 안가는건 물체가 파괴되고 파편이 콜리더가 있어야 부디칠텐데.. 프로그램팀에서 파괴와 동시에 콜리더를 같이 사라지게 만들어놨음...??  내가 이렇게 설계를 할리 없는데...

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

업무일지<Physics>  (0) 2022.10.06
업무일지<...>  (0) 2022.10.05
업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28

해외팀에서 스테이지 일부를 수정 진행하였는데, 에러가 남... 퀄리티 세팅을 위해서 설정한 라이팅 세팅 관련 부분을 잘 모르고 삭제해서 복구.


 

이 정도면 어느 정도 최적화가 이루어진 듯하네요.

gpu instance 제거와 Occulsion Culling을 사용한 것이 효과적이군요.
이전 스테이지는 라이트맵을 활용하면서 최적화를 진행했는데, 이번에는 오픈형이라서 라이맵을 구울 수가 없었지만,
나름 효과적으로 최적화한거 같습니다.

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

업무일지<...>  (0) 2022.10.05
업무일지<기억>  (0) 2022.10.04
업무일지<Setpass calls>  (0) 2022.09.29
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28
업무일지 <Deferred는 MSAA가 안되죠>  (0) 2022.09.27

Setpass Call 수치가 너무 높아서 계속 추적한 결과.. Gpu instance 때문이었군요.
너무 적은 양의 오브젝트들에 GPU instance가 적용되어 그 적은양의 오브젝트가 Setpass Call에 부담을 주고 있었습니다.

GPU instance 사용함에 있어서 경고가 있는데, 너무 적은 양의 오브젝트에는 사용하지 말라는것인데... 적절한 비율을 잘 맞춰야 하는데... 첫배경에서 너무 잘 사용하면서 이번에도 좋을거라 생각하고 별 생각없이 적용하다보니,Setpass Call 량이 늘어나는 불상사가 일어났음... 뭐든 맹신하면 안된다는...


AD가 왜 게임에서는 우리 일상처럼 그림자가 안에 그림자가 없는지 물어봤습니다.
게임에서는 실시간 난반사가 없기 때문이고 이것을 구현하려면 따로 해야한다고 설명해주었습니다.
게임속에 라이트는 물체와 라이트간의 관계라기 보다는 물체가 독립적으로 빛을 받았느냐로 판단하지 주변 물체에 대해서 인지않기 때문...라이트도 이름이 라이트이지 그냥 여기서 빛을 쏴준다는 개념이라눈...
그래서 우리는 환경광을 사용하기는 하는데 이게 완전하질 않죠...

때문에 걸 해결하기 위하여 여러 인위적인 꼼수를 써야합니다.


 

 

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

업무일지<기억>  (0) 2022.10.04
업무일지<Occulsion>  (0) 2022.09.30
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28
업무일지 <Deferred는 MSAA가 안되죠>  (0) 2022.09.27
업무일지<svn revert>  (2) 2022.09.26

오브젝트 애니메이션이 이상하게 안나오는 문제가 있었는데, 이벤트처리를 이전 작업자가 해둔걸 못찾았기 때문이었네요.
유니티에서는 정상적으로 보이는데 ,빌드시에 cloth 오브젝트가 사라지는 문제가 발생했는데, 아마도 중력에 의해 바닥으로 떨어진것으로 보입니다. 이전 리소스와 비교해보니, cloth 오브젝트에 리깅이 안되어있었음...해결...(여전히 의문점은... 왜 유니티에서는 정상적으로 보이고 빌드시 문제가 발생하는지 모르겠음.)


다른 스테이지에 비해서 새로 만든 스테이지에 동적인 화면이 아닌데, frame 폭이 너무 많이 나는것이 이상해서 이것저것 테스트했던 결과..
작업자가 월드 바닥에 바다를 깔아두면서 보이지도 않는 부분에서 전체적으로 드로우가 되면서 포퍼먼스를 잡아먹었던걸로 추정... 바다를 쪼개서 육지쪽 바닥 밑에는 바다를 없앴더니...frame 2~3에서 왔다갔다하는걸 보니 안정화 된거 같군요.


Jenkins는 유니티를 띄워놓으면 빌드가 안된다.


언리얼 서밋이 있었는데...볼 여력이 없으...

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

업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29
업무일지 <Deferred는 MSAA가 안되죠>  (0) 2022.09.27
업무일지<svn revert>  (2) 2022.09.26
업무일지  (0) 2022.09.26

생각지도 않게 Jenkins 관리를 하게 될거 같네요...


외주에서 만든 shader와 내부 shader를 하나로 만드는 작업을 진행했습니다.
포인트는 기존에 material이 바뀌지 않도록 Boolean(shadergraph에서는 Branch)으로 추가.


움직이고 파괴되는 오브젝트 작업진행.(이건 너무 예전에 구현해서 기억이 가물하다.. 시간이 필요할듯하군요.)
외주업체가 오브젝트를 너무 복잡하게 구조를 만들어놔서 단순화.
오브젝트에 cloth적용작업.


영상을 찍어야 한다고 안티엘리어싱 설정을 할수 없냐고 문의가 왔습니다.
우리는 Deferred라 후처리 기법을 써야해서 camera에 SMAA을 사용하도록 알려줬습니다.
코드는 아래부분인거 같은데, 알려줬으니..프로그램에서 알아서 하겠지..
cameraGameObject.GetComponent PostProcessLayer>().antialiasingMode = PostProcessLayer.Antialiasing.None;
이 코드가 아닌갑다...(레거시에서 했던 설정인가봄.)

이 코드이다. public HDAdditionalCameraData.SMAAQualityLevel SMAAQuality;
https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@7.1/api/UnityEngine.Rendering.HighDefinition.HDAdditionalCameraData.html

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

업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28
업무일지<svn revert>  (2) 2022.09.26
업무일지  (0) 2022.09.26

GPU Instance관련하여 매번 등록하는 부분이 이상하여 살펴본 결과

저부분이 버튼이었네요....와.. 생각도 못했네... 카테고리인 줄 알았구만...


계속 build시 gpu instance관련 오브젝트가 안 나오는 문제 발생.
shadervariants 설정이 잘못되어서 그런 걸로 추정...
아니었고...scene이 꼬인 상태로 작업이 진행돼서 build시 안 나오는 오브젝트가 발생. 다시 작업.
(물체를 복사하거나 이동시키면서 발생된 문제일 거라 추정)
결론은 아트 쪽 문제는 아니었고, Jenkins에서 svn을 revert 시키질 않아서 생긴 문제였다는...
요즘 들어 svn revert 이슈가 많이 일어나고 있었군요.


vertex paint와 texture mask를 이용한 lerp방식에 대한 고민...
결론... vertex painter가 비교적 덜 무거우니...그걸로..


캐릭터 썸네일 아놀드렌더 렌더링 작업진행.



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

업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28
업무일지 <Deferred는 MSAA가 안되죠>  (0) 2022.09.27
업무일지  (0) 2022.09.26

개발에 대한 업무일지겸 경험에 대한 기록을 해보려고 합니다.
얼마나 많은 삽질을 하고 있는지 기록해 봅시다.

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

업무일지<Occulsion>  (0) 2022.09.30
업무일지<Setpass calls>  (0) 2022.09.29
업무일지<왜 빌드시에만 문제가 나올까?>  (0) 2022.09.28
업무일지 <Deferred는 MSAA가 안되죠>  (0) 2022.09.27
업무일지<svn revert>  (2) 2022.09.26

 

어떠한 이유에서 게임을 빌드했는데, 비정상적으로 셰이더가 나올때 사용하면 좋은 기능입니다.

 

Shader variant collection은  shader가 빌드가 되었을때 정상적으로 보이게 보장되도록 shader를 확정해주는 기능입니다.

유니티 원문에는 이기능은 scene을 로드하기만해도 자동으로 수집되기 때문에 shadervariant 파일이 있기만 해도 된다는 식으로 써있지만, 이기능을 어떻게 사용하는지 명확한 설명이 없어서 저처럼 헤메는 일이 없도록 공유해봅니다.

우선 중요한 것은 하나의 scene에 사용되는 모든 material을 모아야 합니다. 여러 scene을 돌아가면서 로드해도 되는데,

문제는 그렇게 하려면 게임을 실행시켜서 모든 scene을 돌아가면서 열어야 하는 번거로움이 있습니다.

수동으로 shader를 기능에 등록만 하면 되지 않을까 생각하지만, 이 기능은 material에서 실제 사용되는 옵션을 저장하는 방식을 가지고 있기 때문에 작업자가 이 옵션을 일일히 넣는다는건 유니티에 shader에 대해 완전히 파악한 사람이 아니고서는 솔직히 어려움이 있습니다. 또한, 여러 shader를 만들었다면...생각만해도.. 끔찍...

그래서 저는 일단 모든 material을 하나의 Scene에 모으는 툴을 프로그램머분에게 요청하고, 그리고 이를 Shadervaiant로 저장하는 방법을 택하였습니다.
다음 영상은 Shadervaiant을 생성하는 과정입니다. 

(Clear를 누르고 씬을 저장하고 게임실행하고 Save to asset 한번 눌러주고 하면 수치가 일정하게 나오는거 같습니다.

이순서가 중요한거 같네요.)

간혹 숫자가 자꾸 변경이된다면, 이펙트와 같은 렌덤이 있는 오브젝트가 있을수 있으니 이런 부분은 제거하여야 합니다.

 

 

 

 

'Unity > HDRP' 카테고리의 다른 글

HDRP에서 Emssion 사용시 주의점  (0) 2022.06.24
HDRP와 URP의 빛의 차이  (0) 2022.02.10
URP, HDRP 라이트맵(shadowmask) 설정  (0) 2022.01.18
HDRP Quality 셋팅  (0) 2021.10.08
HDRP 초기 셋팅(Project Setting)01  (0) 2021.09.18

Mixamo animation을 max파일로 만드는 과정 영상

 

 

셰이더에 대한 실험을 하려고 HDRP로 Emission 설정을 해보고 있었는데 아무리해도 발광이 제대로 되질 않았습니다.

HDR Color로 설정한다해도 발광이 안되었는데 이유는 수치가 지나치게 낮아서 였습니다.

Standard나 URP의 경우 수치가 작더라도 발광이 바로 나타나는데 HDRP는 Lux 기반이다보니 수치를 많이 높일 필요가 있더군요. 그래서 Float하나를 추가하여 곱해주었더니 해결이 되었습니다. 아래에 보면 수치가 많이 높은걸 볼수 있죠.

'Unity > HDRP' 카테고리의 다른 글

Shader variant collections  (0) 2022.09.02
HDRP와 URP의 빛의 차이  (0) 2022.02.10
URP, HDRP 라이트맵(shadowmask) 설정  (0) 2022.01.18
HDRP Quality 셋팅  (0) 2021.10.08
HDRP 초기 셋팅(Project Setting)01  (0) 2021.09.18
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class find : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        MeshRenderer ms = GetComponent<MeshRenderer>();
        ms.renderingLayerMask = 2;
        ms.renderingLayerMask = 3;
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

'Unity > C#' 카테고리의 다른 글

LayerChanger  (0) 2021.06.08
물체의 랜덤 스케일  (0) 2021.01.04
캐릭터 랜덤 애니메이션  (0) 2021.01.02
재미로 만들어보는 유니티(콘솔) 로또  (0) 2020.12.29
유리가 깨지는 연출  (0) 2020.12.15

HDRP

HDRP의 Volme에 Exposure를 설정하면 빛의 양에 따라 자연스럽게 밝아지고 어두워지는것을 만들어 낼수 있습니다.

URP

URP에서는 별다른 차도가 없는걸 알수 있습니다.(할려면 하겠지만, 기본적으로 가볍게 개발되는것을 목표로하기 때문이라 생각됩니다.)

'Unity > HDRP' 카테고리의 다른 글

Shader variant collections  (0) 2022.09.02
HDRP에서 Emssion 사용시 주의점  (0) 2022.06.24
URP, HDRP 라이트맵(shadowmask) 설정  (0) 2022.01.18
HDRP Quality 셋팅  (0) 2021.10.08
HDRP 초기 셋팅(Project Setting)01  (0) 2021.09.18

유니티 2020부터인가(?) Prefab을 만드려고 하면 다음과 같은 메세지가 나옵니다.

오리지날로 할지 종속(Variant)으로할지 선택하라는것인데..

종속(Variant)이라는 개념은 오리지날이 있고 오리지날이 바뀌면 종속이 같이 바뀌는 구조로 입니다.

원래 유니티는 오리지날뿐이 없었는데, 좋은 기능이라고 생각합니다.

 

문제는 이게 처음에 FBX를 넣어서 Prefab을 만드려고 하면, 어? 왜 처음부터 오리지날과 베리언트를 선택하라고 하지?

처음은 오리지날 아니야? 라고 생각이 듭니다.

 

그래서 몇가지 실험을 해보았습니다.

유니티 자체에서 박스를 만들고 프리팹으로 만들면 아무런 메세지 박스가 없이 Original이 됩니다.

 

하지만, fbx로 가져온 박스는 아래와 같이 프리팹선택을 해야합니다.

선택장애가 옵니다...


그래서... 테스트를 해보았습니다.

 

우선 이런 녀석을 fbx로 만들었습니다. 그리고 Original과 Variant 프리팹을 만들었습니다.

그리고 원본 fbx를 수정하여 구를 하나 추가하였습니다.

오리지날 프리팹은 구가 추가되지 않았고 종속(Variant)은 추가된것을 확인할수 있었습니다.

원본 FBX의 형태를 변형와 위치를 변형하여 보았습니다.

형태는 오리지날에 반영이 되었지만, 위치와 추가된 오브젝트는 오리지날에 반영이 안된것을 알수 있습니다.

테스트로 알수 있듯이, 처음에 Fbx로 Prefab을 만들때 특별한 사유가 없다면 Variant로 만드는것이 좋습니다.

그래야 종속이되서 원본이 변형되면 같이 변형이 가능합니다.

 

추가 테스트

종속에 종속에 종속...

 

'Unity > ETC' 카테고리의 다른 글

유니티 젠킨스 빌드 실패 원인  (0) 2024.08.28
Baked Lightmaps 문제점  (0) 2022.12.12
Unity LUT  (0) 2021.10.27
Asset Database version2?  (0) 2021.05.27
UTS2 Shader 모바일용과 일반의 차이  (0) 2021.05.25

Shadowmask 관련하여, URP와 HDRP가 설정이 약간 달라 혼란스러워 정리를 해봅니다.

 

Shadowmask의 역할은 그림자를 미리 만들어놓고 실시간 그림자의 부하를 줄이기 위한 방법입니다.

Shadowmask에는  Distance Shadowmask와 그냥 Shadowmask 이렇게 두가지 옵션이 제공됩니다.

 

그냥 Shadowmask는 bake된 라이트맵(그림자)을 그대로 보여주는 설정입니다.

Distance Shadowmask는 거리에 따라 가까운 부분은 실시간 그림자를 설정해주고 뒷부분은 Bake된 그림자를 보여주는 기법이라 아무래도 그냥 Shadowmask보다는 퍼포먼스 영향이 있습니다.

URP

URP에서는 Shadowmask Mode를 퀄리티에서 설정할수 있습니다. 이외에는 설정할것이 따로 없습니다.

 

HDRP

하지만, HDRP는 설정하는 부분이 좀 다릅니다.

퀄리티별 파이프라인에서 Shadowmask를 우선 켜야합니다.(Shadowmask사용시)

이하 퀄리티도 설정해야겠지요.

그리고 Light에서 추가 설정을 해주어야합니다.

이렇게 두군데서 사용을 해줘야 Shadowmask를 제대로 사용할수 있습니다.

 

'Unity > HDRP' 카테고리의 다른 글

Shader variant collections  (0) 2022.09.02
HDRP에서 Emssion 사용시 주의점  (0) 2022.06.24
HDRP와 URP의 빛의 차이  (0) 2022.02.10
HDRP Quality 셋팅  (0) 2021.10.08
HDRP 초기 셋팅(Project Setting)01  (0) 2021.09.18
   packednormal.x *= packednormal.w;

    fixed3 normal;
    normal.xy = packednormal.xy * 2 - 1;
    normal.z = sqrt(1 - saturate(dot(normal.xy, normal.xy)));
    return normal;

Normal Unpack 원리를 알고자 풀어봤습니다.

'Unity > Shader Graph & Amplify' 카테고리의 다른 글

갈라짐 연출하기  (0) 2021.03.18
Shader graph 팁  (0) 2020.12.19
sign값을 이용한 포지션 이동  (0) 2020.11.18
Amplify Shader 주요 기능  (0) 2020.11.04
툰 쉐이더 Amplify shader set  (0) 2020.11.02