일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 작업 집합
- working set
- 개인 바이트
- Three(Two) Tone Shading
- Windows Build
- 가상 바이트
- Toon Shader
- Cartoon Rendering
- 3d
- Rim Light
- 게임 수학
- ColorGradingLutPass
- URP로 변경
- 벡터
- Private Bytes
- Cell Look
- 메모리 누수
- AppSW
- OculusMotionVectorPass
- VR
- URP
- ASW(Application SpaceWarp)
- Virtual Byte
- C언어
- 프로그래밍 기초
- Specular
- Cell Shader
- Today
- Total
목록Unity/Unity 관련 (25)
WinCNT

서론 현재 제작 중인 스크립트의 버튼이 눌렸을 때 플레이 모드에서는 관련 처리를 실행하고, 에디터 모드면 다이얼로그 창을 표시하고 실행하지 않는 처리를 구현하기 위해 좀 찾아봤다 소스 코드 다이얼로그 창은 아래의 코드로 표시할 수 있었다 bool res1 = EditorUtility.DisplayDialog("Title", "Message", "OK"); bool res2 = EditorUtility.DisplayDialog("Title", "Message", "OK", "Cancel"); int opt = EditorUtility.DisplayDialogComplex("Title", "Message", "OK", "Cancel", "Alt Button"); 결과 스크립트의 버튼이 눌렸을 때 플레이 모드..

서론 텍스처를 만들기 위해 게임 재생 중에 스크립트에서 카메라를 만들고, 그 카메라의 Output RenderTexture를 텍스처로 저장하는 업무를 하던 도중 알게 된 내용을 정리하고자 한다 [ExecuteInEditMode]로 게임 재생 중이 아니어도 가능하게 하고 싶었지만 복잡해져서 일단 타협했다 URP에서는 OnPreCull(), OnPreRender(), OnPostRender(), OnRenderImage()를 지원 안 함 처음 Bake버튼을 누르면 검정 텍스처가 출력되고, 두번째부터는 제대로 된 텍스처가 출력되는 이슈를 경험하고 나서야, 겨우 Bake버튼 호출 시와 카메라 렌더링의 순서에 대해 고민해야 한다는 것을 깨달았다 그래서 렌더링이 끝난 뒤에 텍스처를 출력하는 쪽으로 방향을 선회하려고..

서론 일종의 Baking Tool과 같은 스트립트를 만들고 있다 물론 방법은 1도 몰랐기 때문에 조사해가면서 진행 중인데, 알게 된 내용 하나씩 정리해보려고 한다 우선은 Texture를 PNG파일로 저장에 대해서다! Texture를 PNG파일로 저장 뭐가 되었든 최종적으로는 Texture를 PNG파일로 저장하는 마무리가 필요할 것이다 다행히도 이 부분은 인터넷에 레퍼런스가 많았다 핵심 키워드는 Graphics.Blit와 Texture2D의 ReadPixels()과 EncodeToPNG()인 것 같다 실험삼아 만들어 본 함수는 다음과 같다 private void SaveBakeResultToTexture() { RenderTexture buffer = new RenderTexture( textureSize..

버텍스 컬러에 별도의 정보를 스크립트를 미리 Bake하려는 작업을 하게 되었다 우선 스크립트에서 버텍스 컬러를 변경하는 방법을 찾아봤는데 실제로 사용했던 방법을 간단히 정리해보고자 한자 Mesh.SetColors() 결론부터 말하자면 변경하려는 Mesh의 SetColors()이란 함수를 사용하면 된다 SetColors()의 파라미터는 각 버텍스에 대해 지정할 색의 배열이다 (즉, 색의 배열의 크기는 Mesh의 버텍스 개수와 같아야 한다) 참고로 유니티에서 버텍스 컬러의 정보는 MeshFilter의 sharedMesh에 있다 예를 들면 다음과 같다 // GameObject의 Mesh에서 sharedMesh를 취득 Mesh mesh = GetComponent().sharedMesh; // 색 배열 Color..

급히 유니티의 컴포넌트를 하나 만들게 되었다 필요할 때 실행하는 컴포넌트였기 때문에 인스펙터에 버튼을 추가하고 싶었다 그런데 유니티 Button이라고 검색하니 버튼 컴포넌트에 대한 내용만 나와서… 인스펙터에 버튼 표시하기로 검색하니 적당한 내용이 나오길래 실험삼아 구현해보고 대략적인 소스 코드를 정리해두려고 한다 Unity Inspector에 버튼 추가하기 결론부터 말하자면 각각 MonoBehaviour와 Editor를 계승한 스크립트가 필요했다 실제로 실행할 처리를 구현한 스크립트는 다음과 같다 using UnityEngine; public class Test : MonoBehaviour { public void OnClikedCustomButton() { Debug.Log("Click"); } } 컴..