UE4 summing up

  1. Actor's EndPlay event will be called what time?

    • Explicit call to Destroy
    • Play in Editor End
    • Stream crossing checkpoint transition (seamless travel or loading map) contains the Actor is unloaded
    • Actor life period has expired
    • The application closes (all Actor destroyed)
    • Game Over
      see: the Actor life cycle
  2. What is the difference between BlueprintImplementableEvent and BlueprintNativeEvent?

    • BlueprintImplementableEvent functions indicated with C ++ code does not need to have a method thereof, a method implemented in a blueprint body.

    • If you use BlueprintNativeEvent identity when defined functions UFUNCATION, expressed the expectation that the function in the blueprint is rewritten (override) (here refers to rewrite the definition of a custom event Custom Event), at the same time have a C ++ implementation, then defined functions in addition to its own method name, also you need to add a suffix _Implementation, and to achieve this function, "function name _Implementation" in C ++. After this set, it will give priority to calls blueprint Event, if the blueprint Event no method body, the C ++ method is called _Implementation.

    /** Override in BPs to power up bombs. */  
    UFUNCTION(BlueprintNativeEvent, Category = "Game")  
    int32 AAAA();  
    int32 AAAA_Implementation(); 
    
  3. BlurprintPure use at what time?

    This is a native function can be called from a blueprint, it executes native code, does not modify any of the content object to call it, it will not modify any other global state.
    This means that the calling code does not modify anything, it just takes the input, and provide you with an output.
    Like mathematics node (+, -, *, etc.), to obtain a variable node, or any permanently modify any of these things belong to the content.
    The content does not need to plan how to execute, they are not connected to the white line execution line. The compiler will BlueprintCallable nodes which need data processing nodes to automatically identify them.

  4. Foreach UE4 blueprint for the circulatory uses similar parallel manner, a serial test method implemented.

  5. How to solve the problem of a bullet through the wall?

    LineTracebyChannel just hit an object will stop.

  6. UE4 to UStruct memory automatically manage it?

    Only UPROPERTY macro mark USTRUCT in order to be counted garbage collection

  7. Blueprintable and significance of BlueprintType

    The default UCLASS upper case () macro at the same action figure UCLASS (Blueprintable) is the same. Such class declaration is to create subclasses based on such a blueprint in the UE4.
    If you do not want to create a blueprint for C ++ class subclass, simply put Blueprintable replaced NotBlueprintable.
    In UCLASS () macro arguments also called NotBlueprintType macro, the macro can be created based on the meaning of this c ++ classes in blueprint Variables. Based on this blueprint and subclass of C ++ classes are not restricted by this.
    BlueprintType meaning of this macro is the blueprint can create variables of this c ++ class-based.

  8. UE4 entry macro

    EditAnyWhere: This member variables in the blueprint editor and level panel details will be exposed.
    VisibleAnywhere: indicates that this property are visible in all of the properties window but can not be edited.

    EditDefaultsOnly: This member variables will only be exposed in the blueprint editor.
    VisibleDefaultOnly: This attribute indicates the attribute is only visible in the prototype window, and can not be edited.

    EditInstanceOnly: This member variables will only be exposed in detail level panel.
    VisibleInstanceOnly: This property indicates the properties window is visible only examples, and not displayed in the prototype, and can not be edited.

    Transient: attribute is temporary, which means it will not be saved or loaded. Tag attributes in this manner will be filled during loading.

  9. The game framework UE4 What is included?

    AI player using input or control logic Pawns

    Controller is responsible for directing the Pawn Actor. They are usually available in two versions, AIController and PlayerController. The controller can "own" a Pawn to control it.
    Pawn PlayerController is the interface between the player controls him. Which represents the will of the player.
    AIController is a Pawn can control the simulation will.

    Players on behalf of the world, friends, enemies

    Pawn is an actor. Pawn Controller can be held, they can receive input, you can do a lot of game logic.
    Character is a humanoid-style Pawn, inherited from the Pawn. He comes with a default collision and the role of the capsule body movement components. He can do basic humanoid mobile, he can smoothly move and copy some of the animation-related functions.

    Present information to the players

    HUD is a heads-up display. Can show health, ammunition, each PlayerController usually have one.
    Camera is equivalent to the player's attention and manage his behavior. Each PlayerController usually have one of them.

    Setting and tracking rules of the game

    The concept of game modes (GameMode) game is divided into two categories. GameMode GameState is defined with the game, including things like the rules of the game, the conditions of victory. He only exists on the server. He usually does not change too much data, there is no need for the client to understand the transient data.
    Game state (GameState) including as associate roster score, where the work is a game, or the game to complete the task list. GameState exist on all servers and clients, you can freely copy all your computer current.
    Player state (PlayerState) is the state of the game participants, PlayerState contains the player's name, score, matching a similar level of MOBA. All players PlayerState present on all machines can be freely copied in sync.

  10. What is the command to switch levels?
    OpenLevel

  11. UE4 module

    Developer mainly cross-platform tools, Merge and some of the underlying tools.
    Editor editor mainly related code
    Programs largely independent of the engine, but most rely on engines and tools, UBT here
    ThirdParty plug-ins or third-party libraries
    RunTime is the main Gameplay code and so on related to the game.
    Plugins plug-in module.

  12. CoreUObject engine mainly includes fantasy object system (the UObject) and type system (UCLASS)

    UObject engine is the base class for all objects, there is provided a reflecting object, serialization, the GC functions
    UClass UObject reflecting object is an object, recording a large amount of object data UObject; Help these records object data

  13. Core module consists mainly related to the C ++ base classes

    Containers containing various C ++ container classes: Array, List, Map, Queue , Set , etc.
    Delegates proxy statement contains various macros: DECLARE_DELEGATE, DECLARE_MULTICAST_DELEGATE, DECLARE_EVENT etc.
    Logging categories include logging and macros: UE_LOG, ELogVerbosity etc.
    Math contains the math functions and structure: Box, Color, Matrix, Quat , Range, Rotator, Vector, UnrealMath etc.

  14. RHI module

    RHI That RenderHardwareInterface, namely rendering hardware interface for the UE is cross-platform and implement a set of API. Each RHI interfaces to OpenGL, Vulkan, DX11, and so do the different implementations. Used when the engine has been initialized drawing interface OK, the engine can be used to determine the RHI interface version.

  15. Engine module

    Defines actors and components, and implements the game framework.
    Definition and actor component, while achieving the basic framework of the game.

  16. InputCore module

    Key definitions and related code
    key definitions and related codes

  17. UMG module

    Unreal Motion Graphics. Unreal's data- driven UI framework built on top of Slate. Work in progress.
    Ghost graphical user interface. Slate illusion based on data-driven UI framework.

Reference: the UE4 face questions

发布了35 篇原创文章 · 获赞 6 · 访问量 5万+

Guess you like

Origin blog.csdn.net/mrbaolong/article/details/104499976