일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs
- raycast
- 드롭다운
- 최단거리 알고리즘
- C#
- unity korea
- 유니티
- 오블완
- Unity
- Simulation
- 크루스칼
- 유니티 sparkmain(clone)
- 티스토리챌린지
- 너비탐색
- 디지털트윈
- readonly
- dropdown
- GetComponent
- unity sparkmain(clone)
- articulation body
- list clear
- 행동트리
- 최소신장트리 mst
- 트리구조
- sparkmain(clone)
- navisworks api
- removeAll
- BFS
- 깊이탐색
- sparkmain(clone) 무한생성
- Today
- Total
목록Unity (9)
낑깡의 게임 프로그래밍 도전기

유니티 코리아 유튜브를 보면서 배운 내용 정리!Rigidbody 는 유니티에서 기본적으로 쓰이는 물리 적용 기능이다.그러나 디지털 트윈이나 시뮬레이션 용으로는 오류 발생도 잦고 부족한 감이 있다.리지드바디가 안좋은 것이 아니다. 게임을 할때는 퍼포먼스도 중요하기 때문에 최적화 측면에서는 좋으나 최적화를 포기하고 좀더 정교한 물리의 결과를 얻고자할 때 Articulation Body를 사용하는 것이다. 충돌이 잦을 때 흐틀러짐 현상이 있고 상대 질량차이가 크면 수치가 정확하지 않기도 하다. 이러한 점 때문에 시뮬레이션 용으로 쓰기는 힘들다 다수의 컴포넌트가 필요하고 결과가 부정확하다. VHACD는 매우 정교하나 작은 오브젝트에는 오히려 독이 되기도 한다오른쪽사진의 위는 컨벡스로 잡은 것이고 아래는 VHA..
Unity 드롭다운이 요즘에는 TextMeshPro로 나오기 때문에 GetComponent를 적고 자동완선으로 나오는 Dopdown을 선택해서 불러와도 null이 뜬다 우선 해당 스크립트에 네이스페이를 추가using UnityEngine.UI; using TMPro; 그리고 TMP_Dropdown 타입으로 변수 선언 그후에 GetComponentdropDown = GetComponent(); 을 해주면 원하는 작업을 할 수 있다. 간단한 코드 예시using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using TMPro;public class DropDownManager :..

갑자기 SparkMain(Clone) 파티클이 무한 생성 되는 오류가 발생하였다. 무엇이 문제인지 몰라 스크립트를 수정하고 되돌려보고 했는데 아무런 관련이 없었다.알고 보니 3D 오브젝트 Plane을 하나 추가하고 스케일을 늘리겠다고 Y값도 확 늘려버린 것 때문에 이런 현상이 발생하는 것이었다. Plane 삭제로 끝났지만 왜 그런 오류가 발생하는 것인지는 아직도 모른다..여러명이 함께만든 프로젝트라 Plane을 생성하면 파티클을 막 생성해! 라는 코드가 어디에 있을지도...하지만 하이어라키창이나 코드 전체 검색으로는 SparkMain을 찾지 못하였고 에셋폴더로 프리팹으로 존재하였다 하지만 드론이 무한생성되거나 컨트롤러가 무한 생성되고 있지않은데 왜.... SparkMain(Clone) 무한 생성 오류..
유니티에서 List 초기화는 Clear 메서드를 사용하여 수행합니다. Clear 메서드는 리스트의 모든 요소를 제거하여 빈 상태로 만듭니다. RemoveAll 메서드도 요소를 제거하는 데 사용될 수 있지만, 특정 조건을 만족하는 요소를 제거하는 데 사용됩니다.List.Clear()Clear 메서드는 리스트의 모든 요소를 제거하여 리스트를 빈 상태로 만듭니다. 이는 가장 일반적으로 리스트를 초기화하는 방법입니다.List myList = new List { 1, 2, 3, 4, 5 };myList.Clear(); // myList는 이제 빈 상태가 됩니다.List.RemoveAll()RemoveAll 메서드는 특정 조건(predicat)과 일치하는 모든 요소를 제거합니다. 따라서 리스트를 초기화하는 데 사용..

c#에는 const 첨부터 값 정하고readonly는 생성자로 초기화 가능readonly: 런타입에서 변수를 상수하시킬수 있다.스태틱생성자 안에 인스턴스가 들어올 수 없다. 스택이 커져서 힙영역을 침범하면 스택오버플로어힙이커져서 스택영역을 침범하면 힙오버플로어 접근자가 private이라 멤버 안에서만 사용 가능 클래스는 객체를 찍어내는 녀석이지만스태틱 클래스는 하나만 찍으니 안에 인스턴스 변수가 있으면 안된다

행동트리 : Behaviour TreeBT라고도 한다.BT는 논리적은 트리 구조를 사용하며 루트 노드에서 시작해 깊이 우선탐색(DFS)으로 자식 노드를 평가하고 평가 결과를 다시 부모 노드에게 반환하는 구조를 가진다.각 노드는 3가지 상태중 하나를 가질 수 있으며 그 목록은 아래와 같다.Failure(실패) Running(동작 중) Success(성공)행동 트리 구조행동트리 전체 예제 코드using System.Collections;using System.Collections.Generic;using UnityEngine;using System;using Unity.VisualScripting;public interface INode{ public enum STATE { RUN, ..

트리트리는 그래프의 일종노드들이 있고 노드간 선으로 연결되어있다면 그것을 그래프라고 부름트리는 부모에서 자식으로 방향성을 가진 그래프라서 화살표 방향을 생략할수있다(어짜피 부모에서 자식으로 가는거라)높이는 그레프의 길이깊이는 그래프가 얼마나 갈수있는가를 나타냄그래프 : 노드들이 선으로 연결되어있는 것(A*, Nav mesh에서 활용.. 가중치를 활용했다캄) 트리 : 그래프에 제약을 걸어둔 것 ㄴex) 방향 설정 간선 : 노드간을 잇는 선 레벨 : 노드들이 있는 층 형제 : 부모를 공유하는 같은 레벨의 노드 높이 : 레벨간을 이어주는 간선의 개수 깊이 : 자신을 제외한 조상노드의 개수 루트 : 최상위! 부모 서브트리 : 큰 트리 안에서 트리의 형태를 이루는 부분 (손주포함) 리프 : 자식이 없..

아바타 만들고 클립마다 설정해줘야한다. 실질적인 관리는 에니메이터(애니메이징)하나의 클립들을 제어하는건 애니메이터 컨트롤러 똑같은 애니메이션을 재사용하면 컨트롤 D로 복사해주는 게 좋다. 복제한 애니메이션은 이래저래 지울 수 있다. 기본은 오버레이 보통 떠올리는 UI카메라는 특정 카메라에 귀속시키는 것월드 귀속은 큐브를 따라다닌다(vr 게임의 시계형 정보확인 등, 일반게임 따라다니는 몬스터의 hp확인 등) 캔버스를 여러개 추가하는건 큰 부담이 되지 않는다앵커는 고정된 위치 피벗은 UI중심점 앵커와 부모 UI 까지의 거리는 비율이 고정되며 그 비율에 맞게 크기가 유동적으로 변한다.UI크기를 키우고 싶다면 이것을 조절버틸컬 레이아웃은 수직으로 배열을 맞추는 기능을 가지고 있다.