전체 글 90

MVC

C# Wep 서버를 공부하다가 MVC라는 용어를 발견하게 되었다. MVC MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다. M - 모델 (Model) 애플리케이션의 정보, 데이터를 나타냅니다. 데이터베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻합니다. 또한 이러한 DATA, 정보들의 가공을 책임지는 컴포넌트를 말합니다. ..

공부/웹서버 2022.05.14

LINQ

LINQ는 유니티에서는 권장하지 않는 문법이라서 공부 필요성을 느끼지 못했지만, 데이터와 웹서버에서 많이 다루는 문법이어서 공부를 하게 되었다. LINQ 쿼리는 데이터 소스에서 데이터를 검색하는 식입니다. 쿼리는 일반적으로 특수화된 쿼리 언어로 표현됩니다. 관계형 데이터베이스에는 SQL이 사용되고 XML에는 XQuery가 사용되는 것처럼 시간에 따라 다양한 형식의 데이터 소스에 대해 서로 다른 언어가 개발되었습니다. 따라서 개발자는 지원해야 하는 데이터 소스의 형식이나 데이터 형식에 따라 새로운 쿼리 언어를 배워야 했습니다. LINQ는 다양한 데이터 소스 및 형식에 사용할 수 있는 일관된 모델을 제공함으로써 이러한 상황을 단순화합니다. LINQ 쿼리에서는 항상 개체를 사용합니다. XML 문서, SQL 데..

공부/웹서버 2022.04.29

유니티 게임 내 Scripts 최적화 (Unity Article)

Move code out of loops when possible 중복된 루프사용은 자제하라. void Update() { for(int i = 0; i < myArray.Length; i++) { if(exampleBool) { ExampleFunction(myArray[i]); } } } With a simple change, the code iterates through the loop only if the condition is met. void Update() { if(exampleBool) { for(int i = 0; i < myArray.Length; i++) { ExampleFunction(myArray[i]); } } } Only run code when things change 실행 ..

정리/UNITY 2022.04.28

Unity 성능 향상을 위한 권장사항 (Microsoft)

CPU 성능 추천 사항 캐시 참조 GetComponent() 및 Camera.main과 같은 반복적인 함수 호출이 포인터를 저장하는 메모리 비용에 비해 더 비싸기 때문에 초기화 시 모든 관련 구성 요소 및 GameObjects에 대한 참조를 캐싱하는 것이 좋습니다. . Camera.main은 아래의 FindGameObjectsWithTag() 만 사용합니다. 이는 "MainCamera" 태그를 사용하여 장면 그래프에서 카메라 개체를 검색하지만 많은 비용이 들어갑니다. using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { private Camera cam; private CustomComponent c..

정리/UNITY 2022.04.28

Menu_UI 기능 구현

위의 기능을 구현해보자. 메뉴 인터페이스 만들기 기능 구현 EducationPage에서 메뉴 버튼을 연동시킨다. 각 챕터 버튼 클릭 시, 생략 및 확장 기능 기능 구성도 메뉴를 관리해주는 Script 생략 및 확장 기능을 구현할 Script 생략 및 확장 기능 Script 요약 : 각 챕터 하위단의 버튼들은 상위 챕터의 위치를 저장하며, 챕터는 메뉴를 저장받아 서로 간 연결을 통해 메뉴 버튼을 생성한다. 챕터_ 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Chapter_Btn: MonoBehaviour { int pre; // 자신의 상위..

정리/UNITY 2022.04.25

Direct3D 12 그래픽 파이프라인

Shader struct VS_IN { float3 pos : POSITION; float4 color : COLOR; }; struct VS_OUT { float4 pos : SV_Position; float4 color : COLOR; }; VS_OUT VS_Main(VS_IN input) { VS_OUT output = (VS_OUT)0; output.pos = float4(input.pos, 1.f); output.color = input.color; return output; } float4 PS_Main(VS_OUT input) : SV_Target { return input.color; } 만약 셰이더를 꾸미고 싶다면 단순히 셰이더 스크립트에 가서 작업을 한다면 좋겠지만, 셰이더는 셰이더만의..