기본 콘텐츠로 건너뛰기

3월, 2025의 게시물 표시

250331 포인터, 비주얼 스튜디오, C++

포인터 Zombie 클래스 enemy가 존재하고 변수 int Hp = 100이 존재해서 Player 클래스에서 해당 HP를 깎도록 하고 싶은 경우 Zombie* zombie_enemy(변수이름) = enemy; zombie_enemy->hp -= 30; & <= 변수의 주소 * <= 주소(포인터변수) 안의 값 Visual Studio 2022 설정시 주의사항 여러 업데이트로 인해 망가질 수 있으므로, 프로젝트 파일은 백업하기. 처음 생성시 빈 프로젝트로 C++로 생성하는 게 좋음. Tool - New C++ Class 를 통해 정상 작동 여부 확인. 경로에 한글이 있으면 에러가 발생할 수 있음. C++프로젝트 만들고 비주얼 스튜디오가 컴파일할 시간을 줘야 함. 새로운 프로젝트를 만들거나, 재부팅을 하는 것으로 해결 될 수 있음. 1. 윈도우 업데이트 확인. 2. Visual Studio Installer 업데이트 확인. 3. Visual Studio Installer - 수정 - 설치 확인 4. Unreal 통합 구성 청사진 지원, 테스트 어댑터 상태에 문제가 없어야 함. 5. visual studio플러그인 확인 6. Tools - Refresh Visual Studio 7. Binaries, DerivedDataCache, Intermediate, Saved 삭제 후, uproject파일 오른쪽 클릭 - 추가 옵션 표시 - Generate Visual Studio project files 사용하면 좋은 설정 도구 - 옵션 - 환경 - 일반 => 색테마 어둡게, 도구 - 옵션 - 환경 - 글꼴 및 색 => Consolas (0, O, 1, i, i, ㅣ 구분) 도구 - 옵션 - 텍스트 편집기 - 모든 언어 - 일반 - 줄 번호 체크 C++ 파일 생성 Tools - New C++ Class - Parent Class 정하기 - Next 만들 클래스 이름 정하기, Path옆에 폴더 눌러서 위치 정할 수 있음. Source...

250328 Landscape 2, 기본 게임 요소

Foliage Density/1Kuu : 10m내의 범위에 얼마나 많이 심을 것인가 Radius : 다른 Foliage로부터 최소 얼마만큼 거리를 벌릴 것인가. Scale X : Foliage의 크기 최소 최대 Z offset : 땅으로부터 위아래 거리 Align to Normal : 땅의 노말(경사)에 따라 설치할 것인가 Cast Shadow : 그림자 설정 Collision Presets : 충돌 연산할 것인가 아닌가 풀과 같은 Foliage 예시 브러쉬 사이즈를 최대로 한번 클릭한다는 생각으로 만든다. 이후에 호수나 풀이 자라지 않는 부분을 Erase한다. Density : 너무 많지도 적지도 않게 Radius : 거의 건들지 않아도 됨. Scale X : 플레이어 캐릭터의 크기와 비교해서 작게 Z Offset : 땅에 딱 붙어야 하므로 0 Align to Normal : 상대적으로 위로 뻗는 형태는 끄고, 잡초류는 설정 Cast Shadow : 끄거나 Dynamic Shadow를 꺼준다. Collision : 충돌하면 안되므로 No Collision 나무와 같은 Foliage 예시 주로 설치되야 하는 곳은 산 평지는 적절하게 배치한다. Density : 많이 설치되면 안되므로 1또는 그 이하 Radius : 나무가 서로 붙지 않게 1000이상 정도는 넘게 Scale X : 너무 커지지 않게 주의 Z Offset : 더 깊숙히 들어간 느낌을 줘도 되므로 적당히 조절 Align to Normal : 상대적으로 위로 뻗는 형태는 끄고, 잡초 류는 설정 Cast Shadow : 표시해야 함 Ground Slope : 지나치게 경사진 곳은 나무가 없음. 최대 30~45로 설정 Collision : 나무는 비교적 큰 물체이므로 Block All설정. Foliage의 경우 동일한 위치에 풀과 나무가 생성되는 등의 문제가 생길 수 있다. 이를 보완하기 위해 PCG를 사용한다. Splines Ctrl + 마우스 왼쪽 클릭으로 만든다. Segments :  클릭하...

250327 머티리얼 2, LandScape

UV 텍스쳐를 바르기 위한 일종의 좌표. X = U, Y = V라고 생각하면 편함. x,y,z,w는 이미 사용되어서 UV라고 지었다고 함. 메티리얼 에디터에서 U를 누른 상태로 클릭하여 TexCoord를 부를 수 있음. 어두운 부분 0, 밝은 부분 1 Multiply - Floor 곱해진 UV의 값이 Floor에 의해 버림되어 네모 형태를 만듦. Floor 에 의해 0인 부분은 검은색, 1은 노란색으로 표현됨. Multiply - Ceil 곱해진 UV의 값이 Ceil에 의해 버림되어 네모 형태를 만듦. Ceil의 경우는 0인 부분이 0.1로 되어 연한 검정색이 됨. Lerp 선형보간 A와 B 값을 섞는다. Alpha가 0이면 A값, 1이면 B값. Alpha 값을 변수로 설정하고, 머티리얼 인스턴스에서 값을 조정하는 것으로 두 텍스쳐가 혼합된 머티리얼을 만들 수 있다. Abs 절댓값. 값을 양수로 만들어 버린다. Frac 어떤 숫자의 정수 값을 0으로 만들어 버린다. Ceil이나 Floor를 이용하고, Lerp를 이용하면 텍스쳐가 마치 픽셀처럼 보이는 효과를 만들 수 도 있다. Panner 텍스쳐를 X,Y 방향으로 움직이게 할 수 있다. 다음과 같이, 하나의 텍스쳐로 동일한 이미지가 아닌 복잡한 이미지 처럼 보이게 하는 등으로도 사용 가능하다. Power 제곱 Fmod 나머지 연산. 값을 나누고 소수점 값만 돌려준다. 음수도 나올 수 있음. Clamp 어떤 특정한 값을 Min과 Max 사이 값만 표현함. One Minus 반전. 검은색 -> 흰색, 흰색 -> 검은색 Sphere Mask A : 적용 위치 B : 구심점 Attenuation Radius : 적용 반경 Hardness Percent : 0 이면 전환이 딱딱하게, 100 이면 부드럽게 Sphere Gradient Sphere Mask와 비슷한 기능을 함. Center Position : 적용 위치 x,y 의 0.0~1.0좌표 Radius : 적용 범위 퍼센트 0~1 Named Reroute...