일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ret2libc
- photon fusion2
- ability task
- 언리얼엔진
- 유니티
- Replication
- boss monster
- Rr
- Race condition
- 게임 개발
- 운영체제
- DP
- Multiplay
- Security
- CTF
- MAC
- 메카님
- Delegate
- MLFQ
- animation
- Unreal Engine
- 게임개발
- 유스케이스
- gas
- dirty cow
- stride
- unity
- gameplay ability system
- DSP
- 언리얼 엔진
- Today
- Total
목록언리얼 엔진 (48)
다양한 기록
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cwcR8d/btsL9otCvNP/Kd4fSwkPvelTPcfaWV05EK/img.png)
NetExecutionPolicy만 바꿔주면 된다
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/GIQA8/btsL6Wd16aO/ijGaE5BXVsemAlse5nVBjk/img.png)
크기가 변하는 것이 구현되어 병합 후 테스트하는데,크기를 변화시키면 미리보기 위치랑 실제 생성 위치랑 다른 문제가 발생했다 아무리 로그를 찍어도 박스 위치가 보이는 스태틱 메시랑 다르다 Priview Box랑 BoxTrigger랑 위치가 안맞아서 보니까(프리뷰 박스는 바닥에 붙어있는데 BoxTrigger는 중앙 지점을 기준으로 박스 크기가 변경됨), Privew Box가 Y Offset을 구해서 Box Component의 위치를 변경시켜 Static Mesh 기준으로 멀쩡히 보이는 것처럼 좌표가 구해져 있었다Box Component의 기본 생성에서 0,0,0은 중앙 지점이고 Static Mesh의 0,0,0이 꼭짓점이라 오프셋이 안맞던 상황인데, 그렇게 구하면 Static Mesh는 정상 위치처럼 보..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdJKG9/btsL9prImCW/oc4PDjRpvZKtTe0N9yO3X0/img.png)
미리보기 박스 병합하고 테스트하는 중인데 버그 발생아마 충돌처리 관련하여 생기는 버그로 보임 No Collision 안되어 있었음이거 하니까 해결 되긴 했는데 위에 턱 부딪힌 것처럼 보인다 분명 같은 상위 타겟 액터를 가질 것이고,상위 타겟 액터는 직접 No Collision 설정을 해뒀는데 무슨 문제가 발생한 걸까? 생각해보니 저건 버그가 아니다시간이 정지된 것이다 애초에 시간을 정지하는 공간에 닿았으니 멈추는게 당연하다 사실 두번째 사항을 먼저 찾아서 테스트하다 첫번째 버그를 찾았다버그가 아닌데 버그인줄 알았던 걸 테스트하다 진짜 버그를 찾는 상황이 은근히 자주 발생하는 것 같다
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ogWnq/btsL4wl4eRv/kNKKIQGF9kniovo4LZwLWk/img.png)
서버 말고는 GravityDirection이 동기화가 안되어 있었다CharacterMovementComponent는 위치나 가속도 등의 핵심 정보만 동기화한다고 함 방법1. 다시 캐릭터로 중력 세팅 책임 옮기기이건 그냥 코드가 마음에 안듦이걸 Character의 OnActorBeginOverlap이나 Tick에서 처리하기 싫음기각 방법2. RPC로 GravityDirection 세팅시키기Tick이든 Timer든, 짧은 간격으로 RPC 날리는 건 트래픽이 너무 많아져서 싫음포톤 퓨전2에서 Update에 넣어두고 RPC 너무 날려서 게임 꺼진 적 있어서 꺼려짐기각 방법3. 게임플레이 어빌리티로 만들어서 Gravity Core에 들러붙는 능력으로 만들기Character 클래스의 책임도 덜해지고,각 캐릭터를 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/beGVkf/btsL04iUddU/YXzaFEcFTwYYOuykI430m0/img.png)
GAS나 Multiplay 같이 있는 예시가 그렇게 많진 않아 세팅하기 좀 어렵다Lyra는 코드 자체가 좀 너무 많아 참고하려면 시간이 많이 걸릴 것이다그래서 여기저기 뒤져보면서 코드 정리해서 만들어놨다 1. 기본 설정 (일반 멀티플레이 설정이랑 같고, GAS랑 관계 없이 기본 설정)bReplicates = true 및 컴포넌트들에 리플리케이션 설정이것만 해놔도 어느 정도는 리플리케이션이 된다(ex. 스태틱 메시 컴포넌트 리플리케이트 설정 안하면 클라이언트에서 안보임) 2. Player Ability System 설정 // player cppvoid ACSCharacterPlayer::PossessedBy(AController* NewController){ Super::PossessedBy(NewCont..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ncRuH/btsL1XbXQQc/j5ZblKyJXfiK01A4L4cPbk/img.png)
https://www.youtube.com/watch?v=CZK7QplEbJs위 영상을 보고 만들긴 했는데, 위 영상은 Player한테 Gravity Direction의 조정을 맡긴다Player에 책임이 과도해지기도 하고 마음에 안드는 부분들이 좀 있어서분리하여 역할을 GravityCore에 맡겼다 분리하는 것으로 모든 ACharacter를 상속하는 클래스가 이 영향을 받을 수 있게 된다 // Fill out your copyright notice in the Description page of Project Settings.#include "Actor/CSGravityCore.h"#include "GameFramework/Character.h"#include "GameFramework/Character..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b3bQPG/btsL2ma5zoH/IreAhSXDJS4IqYdPsjjkd0/img.png)
중력 반전과 다른 건 몇가지 안된다 1. 중력 변수 조정타겟 액터에서 이벤트 발생 시 GravityCoef를 곱하거나 나눠주는 방식으로 작동한다 2. GravityCoef의 에디터 상 조절타겟 액터와 어빌리티 태스크에 SetGravityCoef 존재=> 게임 어빌리티에서 GravityCoef 조정하면 타겟 액터까지 전달됨상속받아서 블루프린트 만들고블루프린트 들어가서 값 조정 캐릭터에서 해당 블루프린트 어빌리티 설정 그밖의 인풋 설정 등등까지 해주면 된다 3. 매테리얼 채도(Saturation) 조정void ACSTA_WeakenGravityBox::BeginPlay(){ SaturationSetting();}void ACSTA_WeakenGravityBox::SaturationSetting(){..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/p5Kwf/btsL2gaQ5By/k6h3D6ffeTXsvbOAmvzVW1/img.png)
https://www.youtube.com/watch?v=_TNFaHFzXfM&t=270s메테리얼은 이거 보고 만들었는데,내부 로직은 Chrono Space가 오브젝트가 캐릭터 기반이라 아예 다를 것이라그냥 내부 안보고 새로 만들었다 메테리얼 관련 소스CSGABlackHoleCSAT_BlackHoleSphereCSTA_BlackHoleSphere CSGAWhiteHoleCSWhiteHole (일반 액터임) 화이트홀이 없다 → 블랙홀이 Event Horizon 내부로 들어온 거 제거화이트홀이 있다 → 블랙홀이 화이트홀 위치로 이동시킴화이트홀은 CSCharacterPlayer가 보유 → 멀티플레이어 환경에선 각각 로컬 플레이어마다 하나씩 보유 가능 블랙홀// Fill out your copyright not..