일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- Frustum
- RootMotion
- 백준
- 티스토리챌린지
- RVO
- C
- 언리얼엔진5
- 팰린드롬 만들기
- NRVO
- Programmers
- baekjoon
- directx
- winapi
- 2294
- 프로그래머스
- DirectX11
- UE5
- DeferredRendering
- algorithm
- GeeksForGeeks
- const
- IFileDialog
- UnrealEngine5
- 줄 세우기
- Unreal Engine5
- softeer
- 오블완
- 1563
- UnrealEngine4
- Today
- Total
목록UnrealEngine5/이것저것 (51)
Game Develop
본인이 직접 작성한 코드에 대한 포인터는 UPROPERTY 매크로를 붙여서 관리하게 하자. -> 잘못하면 런타임때 죽어버릴 수 있다. 월드상에 배치되는 액터라면 IsValid()함수로 유효성 체크를 한다. 언리얼오브젝트는 Destroy를 호출한다고 바로 삭제되는게 아니라, 일단 Pending Kill 상태로 마크만 표시한 후, 다음 가비지컬렉터가 작동할 때 되서야 실제로 삭제된다. 네이티브 c++ 개발할 때처럼 nullptr로만 체크를 하는것을 권장하지 않는다. UPROPERTY가 런타임때 죽는다면, 가비지컬렉터가 UObject에서 상속되는 클래스를 지워서 그렇다. 스마트포인터로 관리하거나, AddReference로 GC에 참조카운트를 올려서 관리받게 유도한다. Actor클래스의 경우 SpawnActor..
https://hyo-ue4study.tistory.com/272 [언리얼엔진] 가비지 컬렉션이란 ? (언리얼엔진에서의 메모리 관리) 프로그래밍을 하다 보면 동적으로 할당해준 메모리에 대한 관리를 계속해서 해줘야 한다. 우리의 컴퓨터는 일정한 메모리를 갖고 있고, 정해진 메모리를 초과하게 되면 동작하는 프로그램이 정 hyo-ue4study.tistory.com https://othereum.github.io/ue4/ue4gc/ [UE4] 가비지 컬렉션에 관한 유의사항 언리얼 엔진은 보면 볼수록 참 대단하다는 생각이 든다. 그중에서도 가장 대단하다고 생각되는 것은 리플렉션 시스템과 가비지 컬렉터다. 오늘은 가비지 컬렉터에 대한 나의 삽질기를 얘기해볼 othereum.github.io
https://hyo-ue4study.tistory.com/182 [언리얼엔진] 리플렉션 (aka. 프로퍼티 시스템) 언리얼엔진하면은 다룬다고 하면 알아야할 몇가지들이 있다. 그 중에서 언리얼엔진에서 베이스가 되는 프로퍼티 시스템인 리플렉션 이 있다. 리플렉션이라는 것은 자바나 C#등에선 지원하지만, hyo-ue4study.tistory.com
이 내용은 아래 링크의 내용이다.. 아직 초보자인 내가 100가지 전부를 수용할 순 없어서, 당장 잘 받아들일 수 있는 부분들만 생각날때마다 올린다. 게시판 그대로 그냥 이것저것 올리는 곳. https://bbagwang.com/unreal-engine/%EC%96%B8%EB%A6%AC%EC%96%BC-%EB%B2%A0%ED%85%8C%EB%9E%91%EC%9D%98-100%EA%B0%80%EC%A7%80-%ED%8C%81%EA%B3%BC-%ED%8A%B8%EB%A6%AD-%EC%A0%95%EB%A6%AC/ 언리얼 베테랑의 100가지 팁과 트릭 정리 – BBAGWANG UE Summit 2019 UE4 Tips and Tricks. by, Chris Murphyall copyright to Chris M..
블루프린트에서 전부 해결하려하면 너무 복잡해진다. 그리고 블루프린트에서 변수를 선언할 경우, C++ 클래스에서 접근하기가 귀찮아진다. 왜냐하면 C++클래스가 먼저 정의된 후에 블루프린트가 정의되기 때문이다. 여담으로 조금씩 책으로 학습하면서 사용법을 익히는 중인데, 정말로 블루프린트만 써도 간단한 게임은 뚝딱 만들 수 있을 것 같긴하다. 물론 프로그래머면 그럴일은 없긴 하겠지만..
UPROPERTY(EditAnywhere, Category = BulletEffect) class UParticleSystem* mBulletEffectFacctory; // 파티클을 담을 수 있는 객체. BP창에서 파티클오브젝트 셋팅.(BP창이든 C++로 해놨든. 아래 코드는 라인트레이스에 충돌한 물체에 파티클을 렌더하는 코드. TPS프로젝트에서 스나이퍼총일 때 실행시키는 코드다. FVector startPos = mTPSCamComp->GetComponentLocation(); // 라인트레이스 시작위치 (카메라위치값) FVector endPos = mTPSCamComp->GetComponentLocation() + mTPSCamComp->GetForwardVector() * 5000; // 최대 카..
https://blog.nullbus.net/94 UMG 드로우콜 분석 한줄요약 드로우 콜은 같은 리소스와 같은 레이어 ID라는 두 가지 조건이 동시에 만족되어야 하나로 합칠 수 있습니다. UMG에서의 드로우 콜 언리얼 공식 문서에는 드로우 콜과 관련하여 이런 설 blog.nullbus.net Directx11 관련된 내용 찾을때도 여러번 방문했던 빠재님 블로그이다. 언리얼에 관한내용이 최근에 올라왔길래 봐봤더니 좋은 글이 있어 소개하게됐다. 해당글은 언리얼엔진에서의 UI를 작업할 때(UMG 사용할 때), 최적화기법에 관한 내용이다. 사용하기 편리한 상용엔진인만큼, 더 효율있게 잘 다루는게 중요한 것 같다. 프로그래머라면 그래야 한다고 생각한다. 다렉으로 작게나마 엔진기능을 구현해봤어서 그런지, 스스로 ..
스나이퍼모드를 블루프린트로 구현 후, C++로 포팅하는 과정에서 책에 있는대로 똑같이했는데 계속 크래쉬나서 언리얼이 꺼져버리는 현상이 발생했었다. 몇십번을 다시 봐도 다르게 작성한 코드나 블루프린트가 없는데 이런 현상이 발생해서 매우 답답해서 그냥 블루프린트파일 삭제했다가 다시 생성하니까 잘 됐다. 실제 플레이어캐릭터 C++파일을 상속받은 블루프린트파일인데, 이 파일의 이벤트그래프에 스나이퍼모드 관련 블루프린트 노드들을 넣어놓고 그 후에 C++로 포팅하는 과정을 거치면서 필요없게 되어서 연결을 끊었었다. (책내용대로 함) 이후에 C++코드 작성하고 컨트롤키(스나이퍼모드) 누르니까 크래쉬... 뭘 어떻게해도 크래쉬크래쉬... 다행히 지웠다가 다시 만드니까 잘 되긴했다. 처음부터 다시해볼까 했는데, 처음 다..