분류 전체보기
-
Shader 응용유니티/게임그래픽 2024. 2. 19. 02:53
flaot3 (0.5,0.5,0.5) + flaot3 (0.5,0.5,0.5) = flaot3 (1,1,1) flaot3 (1,1,0) + flaot3 (1,0,) = flaot3 (2,1,0) 하지만 실제로 보이는 색상은 (1,1,0) 데이터에는 (2,1,0)으로 저장되어 있다 flaot3 (1,0,0) - flaot3 (0,0,1) = flaot3 (1,0,-1) 하지만 실제로 보이는 색상은 (1,0,0) 데이터는 마찬가지 flaot3 (0.5,0.5,0.5) * flaot3 (0.5,0.5,0.5) = flaot3 (0.25,0.25,0.25) float3(1,0,0) * float3(0,1,0) = float3(0,0,0) 연산은 같은 자릿수끼리만 가능하다(float-float, float3-fl..
-
Shader 기초지식 & 구에 색상 집어넣기유니티/게임그래픽 2024. 2. 18. 21:21
1.0, 1 둘다 가능 만약 RGB 세가지의 색을 구현한다면 float3, 여기에 알파까지 추가한다면 float4로 표현한다 flaot3 (0.5,0.5,0.5) + flaot3 (0.5,0.5,0.5) = flaot3 (1,1,1) flaot3 (1,1,0) + flaot3 (1,0,) = flaot3 (2,1,0) 하지만 실제로 보이는 색상은 (1,1,0) 데이터에는 (2,1,0)으로 저장되어 있다 flaot3 (1,0,0) - flaot3 (0,0,1) = flaot3 (1,0,-1) 하지만 실제로 보이는 색상은 (1,0,0) 데이터는 마찬가지 flaot3 (0.5,0.5,0.5) * flaot3 (0.5,0.5,0.5) = flaot3 (0.25,0.25,0.25) 1 - flaot3(1,0,0)..
-
Shader, Rendering Pipeline유니티/각종 용어 2024. 2. 18. 20:22
"화면에 출력할 픽셀의 위치와 색상을 계산하는 함수" "소프트웨어 명령의 집합으로 주로 그래픽 하드웨어의 렌더링 효과를 계산하는데 쓰임" "프로그래밍이 가능한 렌더링 파이프라인을 프로그래밍하는데 쓰임" "그래픽 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 방법" Shader란 "Shade + er" 이다. 쉽게 말해 Shade의 역할을 해주는 함수라고 볼 수 있다 여기서 Shade란 '색의 농담, 색조, 명암 효과를 주는 행위'를 말한다 물론 이뿐만 아니라 블러, 입체광원, 왜곡, 크로마키, 모션 감지 등등 수많은 효과 제작을 포함한다. 기하학적으로 3D 장면을 구성하고 가상의 카메라를 설정한 뒤에 모니터에 2D 표현을 만들어내는 과정 렌더링 파이프라인이 이루어지는 과정은 크게 4가지가 있다 ..
-
직렬화를 이용하여 저장 객체 저장유니티/유니티 메인 2024. 2. 15. 18:02
우선 간단하게 json 형식으로 파일을 만들어준뒤 Resouces 폴더 안에 넣어준다 using Newtonsoft.Json; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; public class Dediablo : MonoBehaviour { void Start() { var asset = Resources.Load("Diablo"); string json = asset.text; Debug.Log(json); Diablo_Data data = JsonConvert.DeserializeObject(json); Debug.LogFormat("=> {0}, {1}, {2}, {3},..
-
정적 스크롤뷰유니티/UI 2024. 2. 15. 16:55
원래는 만드는 방법을 대충 아니 쓸 생각이 없었는데 이번에 한가지 오류가 나게 되면서 한번 짚고 넘어가기로 하자 문제의 오류는 일정 구간 이상 올리거나 내리면 스크롤이 되지 않아야하는데 제한없이 그대로 쭉 가버린다는것이다. 분명이 배운대로 했는데 어디가 문제인건지 알 수 없어 처음부터 다시 만들어보기로 했다 캔버스를 하나 만들어주고, 그 밑에 소스자료로 쓰일 이미지를 guied라는 이름으로 만들어준다 소스 이미지는 왼쪽으로 정렬해준다 그리고 Canvas Scaler에 있는 설정창에서 UI Scale Mode => Scale With Screen Size => 화면이 커질수록 UI요소도 커지도록 하기 Reference Resolution => 1920, 1080 => 해상도 직접 입력 Screen Matc..
-
비직렬화 오류유니티/오류&문제점 2024. 2. 14. 15:59
public class Test8Main2 : MonoBehaviour { void Start() { //TextAsset로드 var asset = Resources.Load("Weapon_Data"); //JSON문자열 가져오기 string json = asset.text; //출력 하기 Debug.Log(json); } } 분명 여기까지는 정상적으로 잘 작동이 된다 public class Test8Main2 : MonoBehaviour { void Start() { //TextAsset로드 var asset = Resources.Load("Weapon_Data"); //JSON문자열 가져오기 string json = asset.text; //출력 하기 Debug.Log(json); //역직렬화 Wea..
-
json 응용유니티/유니티 메인 2024. 2. 14. 15:47
변하는 데이터 : Info.cs 사용자에 의해 값이 변하는 데이터 ex) 무기의 공격력, 유저의 캐릭터 레벨 변하지 않는 데이터 : Data - 엑셀에서 데이터를 관리 ex)밸런스 데이터, 게임에서 설정되어 있는 데이터 ------------------------------------------------------------------ 이 변하지 않는 Data를 json으로 가공하려한다. json에 대한 설명은 아래 링크에 상세히 적혀있다 json 생각보다 의미 자체나 활용은 어렵지 않지만 중요한 내용이기에 꼭 확실하게 짚고 넘어가야하는 json이다 json : 웹이나 네트워크에서 서버와 클라이언트 사이에서 데이터를 주고 받을 때 사용하 sangeun00.tistory.com 변하지 않는 데이터 값을 ..
-
코루틴 (Coroutine)유니티/유니티 코드 2024. 2. 14. 15:22
유니티에서 정말 중요한 역할을 하는 코루틴. 생각해보니 코루틴에 대해서도 확실하게 짚고 넘어간게 없어 정리해둔다 Unity Documentation에 있는 사전적 정의이다. 사실상 가장 중요한 코루틴의 핵심 요소는 이 3가지로 정의 가능하다 1. 작업을 다수의 프레임에 분산2. 실행을 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드3. 시간의 흐름에 따른 이벤트의 시퀀스, 절차상 애니메이션 표현 가능 이것만 봐서는 뭔가 이해가 될것 같으면서도 무슨 말인지 잘 모르겠다. 하지만 이 예시를 보자void Fade(){ Color c = renderer.material.color; for (float alpha = 1f; alpha >= 0; alpha -= 0.1f..