본문 바로가기

전체 글

(159)
[Unity] Visual Effect Graph에서 랜덤하게 Output Mesh와 Texture를 설정하는 방법 랜덤 Output Mesh 설정Output Particle 노드를 클릭하고 Inspector에서 Mesh Count를 설정 할 수 있다. 그러나 무한정인건 아니고 최대값이 정해져 있는 것처럼 보인다. Initialize Particles에서 Mesh Index를 랜덤하게 설정해주면 랜덤하게 메쉬가 생성된다. 랜덤 Output Texture 설정이 부분은 생각보다는 더 복잡하다. Shader Graph를 하나 만들어 주고, 그래프에서 Base Color와 Normal을 2x2로 텍스처들을 붙여놓고 Random Selector를 통해 랜덤한 UV를 전달해준 뒤, 텍스처를 가져오는 방식을 사용했다.
[UE5] nDisplay를 구성할 때 마스터에서 클러스터 쪽으로 이벤트 발생시키는 방법 주요 개념 정리nDisplayScreen (화면 / 디스플레이)실제 LED, 프로젝터, 디스플레이 패널에 해당하는 렌더링 출력 평면위치, 크기, 방향을 기준으로, 어디에 어떤 화면을 출력할지 결정월드 좌표계 상에 고정된 평면으로 존재DefaultViewPoint (기본 시점 / 카메라)nDisplay에서 가상 카메라(시청자)의 위치와 방향 설정nDisplay 뷰포트에서 어떤 시점을 기준으로 장면을 렌더링할지 결정보통 사람이 서 있는 위치나 HMD 기준점처럼 쓰임기본적으로 하나의 ViewPoint에서 여러 화면(Screen)에 맞춰 각각의 뷰포트를 생성함. 요소 설명 위치 기준nDisplayScreenLED, 디스플레이 등 출력 대상월드 좌표계에 고정됨DefaultViewPoint시점 기준 카메라관찰..
[Python] Python 개발을 하면서 처음 보는 개념들을 정리해보자 .bat.bat 자동 빌드 스크립트는 윈도우에서 더블클릭 한 번으로 PyInstaller 빌드 과정을 자동화하는 실행 파일일일이 pyinstaller 명령어를 CMD에 입력하지 않고도 가능가상환경 활성화.spec 파일로 빌드 실행dist 폴더에 실행파일 생성장점매번 명령어 입력할 필요 없음다른 팀원이 빌드할 때도 간편하게 실행 가능실수 없이 정확한 .spec 기준으로 일관된 빌드 .spec.spec 파일은 PyInstaller의 설정 파일어떤 파이썬 파일을 실행파일로 만들지, 어떤 리소스 파일을 포함할지, 콘솔을 띄울지 말지를 정의예시a = Analysis(['Project.py'], ...)pyz = PYZ(a.pure)exe = EXE(pyz, ...)핵심 역할어떤 파이썬 스크립트를 빌드할지 지정..
[UE5] 언리얼 엔진과 미디어파이프를 활용한 인터렉티브 컨텐츠 개발하기 Solution미디어파이프(Mediapipe)의 경우 c++로 구현할 수 도 있지만, 언리얼 엔진 내부에서 돌리기에는 많이 무거운듯하다. 그렇기 때문에 python으로 돌리고 osc 통신을 통해 결과값을 언리얼 엔진으로 전달하는 형태의 구조로 구성언리얼 엔진 내부에서 동작하기에 미디어파이프도 C++로 구현되어 있지만, 빌드 체계가 언리얼 엔진과는 달라 통합하려면 상당한 작업이 필요하다고 알게 됨1. Unreal에서 MediaPipe를 C++로 구현 가능할까?✔️ 가능은 함(구글이 C++용 MediaPipe 라이브러리 제공)MediaPipe는 원래 C++로 만들어졌습니다.다만 빌드 체계는 Bazel을 사용하며, Unreal은 CMake/Visual Studio 기반입니다.두 시스템을 통합하려면 상당한 수작..
[Git Tips] 언리얼 엔진 깃 올릴때 디렉토리 무시하기 Git에 굳이 올릴 필요 없는 Saved, Intermediate 디렉토리 무시하기이런 디렉토리는 보통 Git에 포함하면 안 되는 빌드/캐시 데이터 .gitignore에 아래 항목을 추가하기Saved/Intermediate/DerivedDataCache/ 다음 디렉토리들은 깃에 올리지 않아도 문제가 되지 않는다. 추천 .gitignore# Unreal Engine 빌드 및 캐시 폴더Binaries/DerivedDataCache/Intermediate/Saved/Build/# IDE 및 에디터 설정 (개인화 파일).vscode/.vs/*.suo*.user*.userprefs*.sln*.opensdf*.VC.db*.VC.opendb# OS 관련 불필요한 파일.DS_StoreThumbs.db*.swp*.bak..
[Git Tips] Filename too long / fatal: Unable to process path Windows에서는 260자 이상 경로를 Git이 처리하지 못해 발생함 아래 명령어를 Git Bash나 CMD에 입력git config --system core.longpaths true 관리자 권한으로 실행해야 적용됨--system 옵션은 Git 전체 설정이고, --global은 현재 사용자 기준
[Git Tips] LF will be replaced by CRLF 경고 이건 경고일 뿐이고, 치명적인 에러는 아님Git이 파일의 줄바꿈(LF ↔ CRLF)을 자동으로 바꾼다고 알려주는 경고..gitattributes에 * text=auto 설정이 있으면 무시해도 됨굳이 제거하고 싶다면 커밋 시 아래 옵션 사용git add --renormalize .
[UE Tips] Timeline vs Interp To 언리얼엔진에서 타임라인을 통해 특정 값을 업데이트하다보면 타임라인이 끝나기도 전에 같은 값을 업데이트하는 또다른 타임라인을 시작했을 경우 값이 튀어보이는 현상이 나타나곤 한다.그래서 그 문제를 해결하고자 Interp To라는 노드를 활용해보았다. Timeline vs Interp To항목Timeline Interp To 노드 (FInterpTo / RInterpTo / VInterpTo) 기반 방식시간 기반(Time Driven)감쇠 기반(Frame Rate/DeltaTime Driven)Tick 연결별도 내부 타임라인 틱으로 작동매 프레임마다 수동으로 계산해 갱신 필요 (Tick에 직접 넣어야 함)초기 설정그래프 안에서 Curve(곡선)나 시간-값 직접 설정 가능시작 값과 목표 값을 외부에서 매 프..