목록전체 글 (124)
서의 공간
AI Blackboard 생성 관련 질문있어요 : 네이버 카페 (naver.com) 위 글을 먼저 참고하여 두 번째 경우에서 조금 다른 경우를 살펴보자. BehaviorTree를 컨트롤러가 아닌 캐릭터에 설정하는 방식이다. Enemy 클래스(.h)에 다음과 같이 변수를 정의하고, 블루프린트에서 BehaviorTree 애셋을 설정할 것이다. /** Behavior tree for the AI Character*/ UPROPERTY(EditAnywhere, Category = "Behavior Tree", meta = (AllowPrivateAccess = "true")) class UBehaviorTree* BehaviorTree; 다음은 AEnemy 클래스에서 BeginPlay 함수 부분이다. void ..
블루프린트에서 SetTimer SetTimerbyFunctionName 함수의 파라미터 중 Object 파라미터는 델리게이트 함수를 구현한 오브젝트를 의미하고, Function Name 파라미터는 델리게이트 함수 이름이다. C++에서 Set Timer 세 가지 방법이 있다. 먼저 SetTimer를 호출하려면 FTimerManager 인스턴스가 필요하다. AActor를 상속받은 오브젝트가 아닌 경우 GetWorld()->GetTimerManager() 함수 사용 예) GetWorld()->GetTimerManager().SetTimer(...); AActor를 상속받은 오브젝트인 경우 FTimerManager& AActor::GetWorldTimerManager() const 함수 사용 예) GetWorl..
GetVelocity ////////////// Actor.h/.cpp /** Returns velocity (in cm/s (Unreal Units/second) of the rootcomponent if it is either using physics or has an associated MovementComponent */ UFUNCTION(BlueprintCallable, Category="Utilities|Transformation") virtual FVector GetVelocity() const; FVector AActor::GetVelocity() const { if ( RootComponent ) { return RootComponent->GetComponentVelocity(); } r..
GetBaseAimRotation /** * Return the aim rotation for the Pawn. * If we have a controller, by default we aim at the player's 'eyes' direction * that is by default the Pawn rotation for AI, and camera (crosshair) rotation for human players. */ UFUNCTION(BlueprintCallable, Category=Pawn) virtual FRotator GetBaseAimRotation() const; FRotator APawn::GetBaseAimRotation() const { // If we have a contro..
UserWidget.h ... /** * The system calls this method to notify the widget that a mouse button was pressed within it. This event is bubbled. * * @param MyGeometry The Geometry of the widget receiving the event * @param MouseEvent Information about the input event * @return Whether the event was handled along with possible requests for the system to take action. */ UFUNCTION(BlueprintImplementableE..
1. 전방 선언 2. 인터페이스 이용 [C++]인터페이스를 이용하여 상호참조와 종속성을 최소화하는 방법 (tistory.com)
모듈: 독립적인 하나의 기능 단위 모듈화: 규모가 큰 응용 프로그램의 기능들을 잘개 쪼갠다 -> 모듈화한다. 중요한 것은 모듈사이의 의존성을 최대한 없애, 독립적으로 기능을 수행할 수 있게 하는 것이다. 만약 모듈사이의 의존성이 크다면, 각 기능들이 복잡하게 얽혀 있다는 뜻이고, 하나의 독립적으로 구현되어야 할 모듈의 문제가 생기면 전체 시스템의 문제로 확산될 수 있기 때문이다. 따라서 모듈은 외부에 제공하는 인터페이스, 내부에서 사용하는 로직, 외부에서 제공하는 인터페이스를 사용하기 위한 의존성, 총 3개의 부분으로 나눌 수 있다. [ 모듈화(Modularization)란? ] : 네이버 블로그 (naver.com)
llvm-project/algorithm at release/12.x · Seoui/llvm-project (github.com) 사전순 기준 next_permutation 과정 1. 컨테이너의 마지막 원소부터 시작하여 가장 긴 감소수열을 찾는다. 2. 그 수열의 바로 앞 원소를 a라고 할 때, 다시 마지막 원소부터 시작하여 a보다 처음으로 큰 원소를 찾는다. 3. 그 둘을 스왑 4. 가장 긴 감소수열을 reverse prev_permutation도 이러한 맥락으로 이해하면 되겠다. // Compare 함수객체는 default가 less이다. template bool __next_permutation(BidirectionalIterator first, BidirectionalIterator last, C..