분류 전체보기

    Unity Shader : 기초

    Unity 쉐이더는 게임 오브젝트의 렌더링 방식을 제어하는 코드입니다. 3D 그래픽에서 쉐이더는 매우 중요한 역할을 하며, 텍스처, 색상, 조명 등을 사용하여 사실적인 이미지를 만들 수 있도록 합니다. 1. 쉐이더 정의 쉐이더는 Cg 또는 HLSL과 같은 프로그래밍 언어로 작성된 코드이며, 꼭지점 셰이더와 프래그먼트 셰이더로 구성됩니다. 꼭지점 셰이더: 3D 공간에서 꼭지점의 위치를 변환하고 조명 계산을 수행합니다. 프래그먼트 셰이더: 각 픽셀의 색상을 계산합니다. 2. 쉐이더 종류 Unity에는 다양한 종류의 쉐이더가 있으며, 일반적으로 다음과 같이 분류됩니다. Standard Surface Shader: 대부분의 오브젝트에 사용되는 기본 쉐이더입니다. Lit Shader: 조명 계산을 수행하는 쉐이더..

    RigidbodyConstraints : 회전과 위치 제어

    유니티 RigidbodyConstraints는 리지드바디의 회전과 위치를 제어하는 데 사용되는 enum입니다. 각 옵션은 다음과 같은 의미를 가집니다. 회전 제어:FreezeRotationX: X축 회전을 동결합니다. (X축 회전 불가능)FreezeRotationY: Y축 회전을 동결합니다. (Y축 회전 불가능)FreezeRotationZ: Z축 회전을 동결합니다. (Z축 회전 불가능)위치 제어:FreezePositionX: X축 이동을 동결합니다. (X축 이동 불가능)FreezePositionY: Y축 이동을 동결합니다. (Y축 이동 불가능)FreezePositionZ: Z축 이동을 동결합니다. (Z축 이동 불가능)예시단일 제어 Rigidbody rigid = GetComponent();// X축 회전..

    List<T> FindIndex

    FindIndex 메서드는 리스트에서 특정 조건을 만족하는 첫 번째 요소의 인덱스를 찾는 데 사용됩니다. 사용 방법: 1. FindIndex(Predicate match): Predicate 델리게이트를 사용하여 조건을 정의합니다. 델리게이트는 리스트의 각 요소를 검사하고, 조건을 만족하는 경우 true를 반환합니다. 조건을 만족하는 첫 번째 요소의 인덱스를 반환합니다. 조건은 만족하는 요소가 없으면 -1을 반환합니다. 2. FindIndex(int startIndex, Predicate match): 검색을 시작할 인덱스를 지정합니다. startIndex는 0부터 시작하며, 리스트의 크기보다 크거나 같을 수 없습니다. startIndex 이후에 조건을 만족하는 첫 번째 요소의 인덱스를 반환합니다. 조건..

    Rigidbody에서 오브젝트에 힘을 가할 때 사용되는 ForceMode

    유니티에서 Rigidbody를 사용하여 오브젝트에 힘을 가할 때 ForceMode는 힘의 적용 방식을 결정하는 중요한 요소입니다. 이 글에서는 다양한 ForceMode 옵션과 각 옵션의 특징, 그리고 사용 시 고려해야 할 사항들을 자세하게 설명합니다. 1. ForceMode 종류 Force: 힘을 오브젝트의 질량에 비례하여 가속합니다. Impulse: 힘을 순간적으로 가하여 오브젝트의 속도를 변화시킵니다. Acceleration: 힘을 오브젝트의 질량에 관계없이 일정한 가속도로 적용합니다. VelocityChange: 힘을 오브젝트의 질량에 관계없이 일정한 속도 변화량으로 적용합니다. 2. ForceMode 옵션 비교 옵션 특징 사용 시 고려 사항 Force 질량에 비례하여 가속 시간에 따라 힘이 누적 ..

    Unity에서 UnityWebRequest를 이용해 웹 접속하는 방법

    Unity에서 웹 접속 기능을 구현하는 방법은 여러 가지가 있지만, UnityWebRequest는 비교적 간편하고 효율적인 방법입니다. 이 글에서는 UnityWebRequest를 이용해 웹 접속하는 방법을 단계별로 설명하고, 예시 코드와 함께 활용 방법을 제시합니다. 개요 UnityWebRequest는 웹 서버와 통신하여 데이터를 주고받을 수 있도록 하는 API입니다. GET, POST, PUT, DELETE 등 다양한 HTTP 메서드를 지원합니다. 텍스트, 이미지, 바이너리 데이터 등 다양한 형식의 데이터를 처리할 수 있습니다. 웹 접속 단계 UnityWebRequest 객체 생성 UnityWebRequest 클래스의 생성자를 사용하여 웹 요청 객체를 생성합니다 요청 URL, 메서드, 헤더 정보등을 설..

    sort와 sorted의 차이점

    파이썬에서 리스트를 정렬하는 작업은 매우 빈번하게 발생합니다. 이를 위해 sort와 sorted 두 가지 함수가 제공되는데, 이들은 유사한 기능을 제공하면서도 중요한 차이점을 가지고 있습니다. 1. sort() 기능: 리스트를 직접 변경하여 정렬합니다. 반환 값: None (리스트 자체를 변경합니다) my_list = [5, 2, 4, 1, 3] # 리스트를 직접 정렬 my_list.sort() print(my_list) # [1, 2, 3, 4, 5] 2. sorted() 기능: 리스트를 새롭게 만들어 정렬 결과를 반환합니다. 반환 값: 정렬된 새로운 리스트 my_list = [5, 2, 4, 1, 3] # 새 리스트를 만들어 정렬 결과 반환 sorted_list = sorted(my_list) pri..

    LayerMask 활용하기

    유니티에서 레이어 마스크는 특정 레이어에만 영향을 미치는 코드를 작성하는 데 필수적인 도구입니다. 이 글에서는 레이어 마스크의 내장 메서드를 활용하여 코드를 더욱 효율적이고 명확하게 작성하는 방법을 설명합니다. 1. 레이어 마스크 기초 레이어 마스크는 32비트 정수 값으로, 각 비트가 하나의 레이어에 해당합니다. 특정 레이어에 대한 비트를 1로 설정하면 해당 레이어가 마스크에 포함됩니다. 여러 레이어를 포함하려면 해당 레이어에 대한 비트를 OR 연산하여 마스크를 생성합니다. 2. 내장 메서드 LayerMask.NameToLayer: 레이어 이름을 사용하여 레이어 인덱스를 얻습니다. LayerMask.GetMask: 레이어 이름 목록을 사용하여 레이어 마스크를 생성합니다. LayerMask.GetMask(..

    ChatGPT API의 function_call

    function_call이란? function_call은 ChatGPT API가 사전 정의된 함수와 상호 작용하도록 하는 기능입니다. 개발자는 실제 세계의 작업이나 데이터 검색 작업을 나타내는 함수를 정의합니다. 모델은 대화에서 적절한 상황을 발견하면 다음과 같은 작업을 수행할 수 있습니다. 프롬프트 또는 대화 기록에 따라 function_call의 필요성을 인식합니다. 함수에 필요한 인수를 나타내는 JSON을 생성합니다. 이 JSON을 애플리케이션 코드에 전달하여 함수를 실행합니다. 함수 결과를 대화 흐름에 다시 통합합니다. function_call의 장점 구조화된 데이터 추출: extract_data(name, age)와 같은 함수를 사용하여 텍스트에서 특정 데이터를 추출합니다. API 통합: sen..