분류 전체보기(287)
-
[Blender] Blender에서 Blend Shape 적용
Blender에서는 Shape Keys로 Blend Shape을 적용할 수 있다. 아래의 유튜브 영상을 참고하였다. https://youtu.be/7WGtmADZCzU?feature=shared 처음 Blender에서 모델링을 누르고 [Data] 메뉴를 보면 아래와 같이 데이터가 모두 비어있는 모습을 볼 수 있다. Shape Keys에 '+' 버튼을 두 번 누르면, Basis와 Key 1이 생성된다. 바로 이 Key 값에 따라 모델이 Morph 되는 것이다. 이 Key 값을 1.000으로 값을 수정한 후 모델링을 Sculpting 모드로 모델을 끌던, 잡아 늘리던 수정하면, 값이 바뀔때 마다 모델이 움직이는 것을 볼 수 있다. 이후에 해당 Key에 영향을 받는 Vertex들을 선택한 후 새로운 [Vert..
2024.03.27 -
[Unity] IL2CPP 정리
IL2CPP는 Unity의 스크립트 언어인 C#으로 작성된 코드를 C++로 변환한 후 해당 코드를 네이티브 플랫폼의 기계어로 컴파일하는 Unity의 스크립팅 런타임이다. 여기에는 일반적으로 .NET 언어의 코드를 실행하기 위해 사용되는 Common Language Runtime (CLR) 또는 Mono의 가상 머신을 사용하는 대신에 C++ 컴파일러 및 최적화 도구를 사용한다. 장점 성능 향상: C++로의 변환과 네이티브 코드 컴파일은 실행 시간에 일어나는 JIT(Just-In-Time) 컴파일과 관련된 오버헤드를 줄여준다. 이로 인해 더 나은 성능을 제공할 수 있다. 플랫폼 호환성: IL2CPP는 여러 플랫폼에서 동작하며, 네이티브 코드로 컴파일되므로 플랫폼에 종속되지 않고 동작할 수 있다. 보안 강화:..
2024.03.26 -
[CS] Quick Sort, ArrayList/LinkedList, Concurrency/Parallelism, Critical Section/Mutex 정리
Quick Sort(퀵 정렬) 결정론적 알고리즘(Deterministic Algorithm) : 매번 똑같은 방식으로 각 단계를 거쳐가는 알고리즘 무작위 알고리즘(Randomized Algorithm) : 난수 생성 Partitioning -> 분할 작업. 기준이 되는 값은 pivot이 된다. pivot 보다 작은 수는 왼쪽에, 큰 숫자는 오른쪽에 위치하면서 정렬이 된다. 항상 첫 번째 요소를 선택할지, 랜덤으로 요소를 선택할지 달라질 수 있다. Quick Sort에 의한 시간 복잡도 -Best Case: 가장 좋은 케이스는 중간 값을 골라서 밸런스 있게 정렬을 나눌 때이다. -Average Case -Worst Case: 매우 불균형한 파티션으로 나눠지거나 가장 작은 값 또는 가장 큰 값이 선택 될 때..
2024.03.26 -
[Unity] Occlusion Culling, Overdraw, Sprite Atlas, Blend Tree, Set Pass Call, Batch, OBJ/FBX, NURBS/Polygon, Scriptable Object, 유니티 멀티쓰레드 오류, Euler 회전 문제점 정리
Occlusion Culling과 Culling Mask Occlusion Culling -객체가 다른 객체에 의해 완벽하게 가려지는 경우 렌더링 계산을 하지 않는다. -매 프레임마다 카메라는 씬에 있는 Renderer를 카메라로 부터 사다리꼴 방사 모양의 시야인 *[frustum culling]으로 조사한다. 여기서 불필요하게 소모되는 CPU와 GPU를 줄이기 위해 사용 되는 기능. (*frustum culling은 카메라 시야에 없는 객체를 culling 하는 것. culling plane을 가까운 것과 먼 것으로 하나씩 설정할 수 있다.) Occlusion Culling을 사용해야하는 경우 -유니티에 빌트인 되어있는 Occulsion Culling은 CPU에서 런타임으로 계산된다. Overdraw로..
2024.03.26 -
[Unity] MeshSync 패키지 (Blender-Unity 실시간 싱크)
*Blender 버전 4.0.2, Unity 버전 2021.3.12f1 기준 -> Addon이 Blender 3.4까지 지원으로 실패 *Blender 버전 3.3.17LTS(2024.3.19릴리즈), Unity 버전 2021.3.12f1 기준 -> 성공 com.unity.meshsync 패키지 설치 서버 만들기 [GameObject] - [MeshSync] - [Create Server]로 서버를 생성한다. 그러면 Hierarchy에 "MeshSyncServer" 이름의 오브젝트가 생기고 MeshSyncServer 스크립트가 들어있는 것을 볼 수 있다. 동기화 프로세스를 제어할 수 있다. DCC 툴 연결 [Preferences] - [Mesh Sync]에서 DCC 툴을 찾아서 연결할 수 있는데 혹시 뜨지..
2024.03.26 -
유니티 스마트재난관리시스템 디지털 트윈 프로젝트(3) -다리 붕괴 시뮬레이션
유니티 스마트재난관리시스템 디지털 트윈 프로젝트(2) -Cell Fracture 기능 유니티 적용, OpenFracture 기능 적용 유니티 스마트재난관리시스템 디지털 트윈 프로젝트(2) -Cell Fracture 기능 유니티 적용, OpenFracture Cell Fracture 기능을 이용해서 이미 조각나있는 큐브를 FBX 파일로 Export 하여 유니티로 가져온다. 바닥엔 Plane을 생성했고 [Mesh Collider]를 넣었다. 나눠진 큐브 조각에는 한꺼번에 선택하여 [Mesh Collide lightbakery.tistory.com 이전 기능을 다리 모델에도 적용하여 지진이 났을 때 다리가 부서지게 만들 것이다. 잘게 쪼개진 모델들을 프리팹으로 저장해서 부서지는지 보았다. 그런데 기능을 돌리니..
2024.03.12