基于UKismetSystemLibrary

获取各类名称

// Returns the actual object name.
UFUNCTION(BlueprintPure, Category = "Utilities")
static FString GetObjectName(const UObject* Object);// Returns the full path to the specified object.
UFUNCTION(BlueprintPure, Category="Utilities")
static FString GetPathName(const UObject* Object);// Returns the display name (or actor label), for displaying as a debugging aid.
// Note: In editor builds, this is the actor label.  In non-editor builds, this is the actual object name.  This function should not be used to uniquely identify actors!
// It is not localized and should not be used for display to an end user of a game.
UFUNCTION(BlueprintPure, Category="Utilities")
static FString GetDisplayName(const UObject* Object);// Returns the display name of a class
UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "Get Display Name"))
static FString GetClassDisplayName(UClass* Class);// Engine build number, for displaying to end users.
UFUNCTION(BlueprintPure, Category="Development", meta=(BlueprintThreadSafe))
static FString GetEngineVersion();/** Get the name of the current game  */
UFUNCTION(BlueprintPure, Category="Game", meta=(BlueprintThreadSafe))
static FString GetGameName();/** Get the current user name from the OS */
UFUNCTION(BlueprintPure, Category="Utilities|Platform")
static FString GetPlatformUserName();/** Returns the platform specific unique device id */
UFUNCTION(BlueprintPure, Category="Utilities|Platform", meta = (DeprecatedFunction, DeprecationMessage = "Use GetDeviceId instead"))
static FString GetUniqueDeviceId();/** Returns the platform specific unique device id */
UFUNCTION(BlueprintPure, Category="Utilities|Platform")
static FString GetDeviceId();

获取各种状态

/** Returns whether the world this object is in is the host or not */
UFUNCTION(BlueprintPure, Category="Networking", meta=(WorldContext="WorldContextObject") )
static bool IsServer(const UObject* WorldContextObject);/** Returns whether this is running on a dedicated server */
UFUNCTION(BlueprintPure, Category="Networking", meta=(WorldContext="WorldContextObject"))
static bool IsDedicatedServer(const UObject* WorldContextObject);/** Returns whether this game instance is stand alone (no networking). */
UFUNCTION(BlueprintPure, Category="Networking", meta=(WorldContext="WorldContextObject"))
static bool IsStandalone(const UObject* WorldContextObject);/** Returns whether we're currently running in split screen (more than one local player). */
UFUNCTION(BlueprintPure, Category = "Utilities", meta = (WorldContext = "WorldContextObject"))
static bool IsSplitScreen(const UObject* WorldContextObject);/** Returns whether this is a build that is packaged for distribution */
UFUNCTION(BlueprintPure, Category="Development", meta=(BlueprintThreadSafe))
static bool IsPackagedForDistribution();

获取时间

/** * Get the current game time, in seconds. This stops when the game is paused and is affected by slomo. * * @param WorldContextObject World context*/
UFUNCTION(BlueprintPure, Category="Utilities|Time", meta=(WorldContext="WorldContextObject") )
static float GetGameTimeInSeconds(const UObject* WorldContextObject);/** Returns the value of GFrameCounter, a running count of the number of frames that have occurred. */
UFUNCTION(BlueprintPure, Category = "Utilities")
static int64 GetFrameCount();

获取常见路径

// Returns the full system path to a UObject
// If given a non-asset UObject, it will return an empty string
UFUNCTION(BlueprintPure, Category = "Utilities")
static FString GetSystemPath(const UObject* Object);/** Get the directory of the current project */
UFUNCTION(BlueprintPure, Category="Utilities|Paths", meta=(BlueprintThreadSafe))
static FString GetProjectDirectory();/** Get the content directory of the current project */
UFUNCTION(BlueprintPure, Category="Utilities|Paths", meta=(BlueprintThreadSafe))
static FString GetProjectContentDirectory();/** Get the saved directory of the current project */
UFUNCTION(BlueprintPure, Category="Utilities|Paths", meta=(BlueprintThreadSafe))
static FString GetProjectSavedDirectory();/** Get the current user dir from the OS */
UFUNCTION(BlueprintPure, Category = "Utilities|Platform")
static FString GetPlatformUserDir();
  • 路径转换
/* Converts passed in filename to use a relative path */
UFUNCTION(BlueprintPure, Category="Utilities|Paths")
static FString ConvertToRelativePath(const FString& Filename);/* Converts passed in filename to use a absolute path */
UFUNCTION(BlueprintPure, Category="Utilities|Paths")
static FString ConvertToAbsolutePath(const FString& Filename);/* Convert all / and \ to TEXT("/") */
UFUNCTION(BlueprintPure, Category="Utilities|Paths", meta=(BlueprintThreadSafe))
static FString NormalizeFilename(const FString& InFilename);

FPaths —— 更全的路径

/**
* Path helpers for retrieving game dir, engine dir, etc.
*/
class CORE_API FPaths
{
public:/*** Should the "saved" directory structures be rooted in the user dir or relative to the "engine/game" */static bool ShouldSaveToUserDir();/*** Returns the directory the application was launched from (useful for commandline utilities)*/static FString LaunchDir();/** * Returns the base directory of the "core" engine that can be shared across* several games or across games & mods. Shaders and base localization files* e.g. reside in the engine directory.** @return engine directory*/static FString EngineDir();/*** Returns the root directory for user-specific engine files. Always writable.** @return root user directory*/static FString EngineUserDir();/*** Returns the root directory for user-specific engine files which can be shared between versions. Always writable.** @return root user directory*/static FString EngineVersionAgnosticUserDir();/** * Returns the content directory of the "core" engine that can be shared across* several games or across games & mods. ** @return engine content directory*/static FString EngineContentDir();/*** Returns the directory the root configuration files are located.** @return root config directory*/static FString EngineConfigDir();/*** Returns the Editor Settings directory of the engine** @return Editor Settings directory.*/static FString EngineEditorSettingsDir();/*** Returns the intermediate directory of the engine** @return content directory*/static FString EngineIntermediateDir();/*** Returns the saved directory of the engine** @return Saved directory.*/static FString EngineSavedDir();/*** Returns the plugins directory of the engine** @return Plugins directory.*/static FString EnginePluginsDir();/*** Returns the directory for default Editor UI Layout files of the engine* @return Directory for default Editor UI Layout files.*/static FString EngineDefaultLayoutDir();/*** Returns the directory for project Editor UI Layout files of the engine* @return Directory for project Editor UI Layout files.*/static FString EngineProjectLayoutDir();/*** Returns the directory for user-generated Editor UI Layout files of the engine* @return Directory for user-generated Editor UI Layout files.*/static FString EngineUserLayoutDir();/** * Returns the base directory enterprise directory.** @return enterprise directory*/static FString EnterpriseDir();/*** Returns the enterprise plugins directory** @return Plugins directory.*/static FString EnterprisePluginsDir();/*** Returns the enterprise FeaturePack directory** @return FeaturePack directory.*/static FString EnterpriseFeaturePackDir();/*** Returns the directory where engine platform extensions reside** @return engine platform extensions directory*/static FString EnginePlatformExtensionsDir();/*** Returns the directory where the project's platform extensions reside** @return project platform extensions directory*/static FString ProjectPlatformExtensionsDir();/*** Returns platform and restricted extensions that are present and valid (for platforms, it uses FDataDrivePlatformInfo to determine valid platforms, it doesn't just use what's present)** @return BaseDir and usable extension directories under BaseDir (either Engine or Project)*/static TArray<FString> GetExtensionDirs(const FString& BaseDir, const FString& SubDir=FString());/*** Returns the root directory of the engine directory tree** @return Root directory.*/static FString RootDir();/*** Returns the base directory of the current project by looking at FApp::GetProjectName().* This is usually a subdirectory of the installation* root directory and can be overridden on the command line to allow self* contained mod support.** @return base directory*/static FString ProjectDir();/*** Returns the root directory for user-specific game files.** @return game user directory*/static FString ProjectUserDir();/*** Returns the content directory of the current game by looking at FApp::GetProjectName().** @return content directory*/static FString ProjectContentDir();/*** Returns the directory the root configuration files are located.** @return root config directory*/static FString ProjectConfigDir();/*** Returns the saved directory of the current game by looking at FApp::GetProjectName().** @return saved directory*/static const FString& ProjectSavedDir();/*** Returns the intermediate directory of the current game by looking at FApp::GetProjectName().** @return intermediate directory*/static FString ProjectIntermediateDir();static FString ShaderWorkingDir();/*** Returns the plugins directory of the current game by looking at FApp::GetProjectName().** @return plugins directory*/static FString ProjectPluginsDir();/*** Returns the mods directory of the current project by looking at FApp::GetProjectName().** @return mods directory*/static FString ProjectModsDir();/** Returns true if a writable directory for downloaded data that persists across play sessions is available*/static bool HasProjectPersistentDownloadDir();/** Returns the writable directory for downloaded data that persists across play sessions.*/static FString ProjectPersistentDownloadDir();/*** Returns the directory the engine uses to look for the source leaf ini files. This* can't be an .ini variable for obvious reasons.** @return source config directory*/static FString SourceConfigDir();/*** Returns the directory the engine saves generated config files.** @return config directory*/static FString GeneratedConfigDir();/*** Returns the directory the engine stores sandbox output** @return sandbox directory*/static FString SandboxesDir();/*** Returns the directory the engine uses to output profiling files.** @return log directory*/static FString ProfilingDir();/*** Returns the directory the engine uses to output screenshot files.** @return screenshot directory*/static FString ScreenShotDir();/*** Returns the directory the engine uses to output BugIt files.** @return screenshot directory*/static FString BugItDir();/*** Returns the directory the engine uses to output user requested video capture files.** @return Video capture directory*/static FString VideoCaptureDir();/*** Returns the directory the engine uses to output logs. This currently can't * be an .ini setting as the game starts logging before it can read from .ini* files.** @return log directory*/static FString ProjectLogDir();/** Returns the directory for automation save files */static FString AutomationDir();/** Returns the directory for automation save files that are meant to be deleted every run */static FString AutomationTransientDir();/** Returns the directory for results of automation tests. May be deleted every run. */static FString AutomationReportsDir();/** Returns the directory for automation log files */static FString AutomationLogDir();/** Returns the directory for local files used in cloud emulation or support */static FString CloudDir();/** Returns the directory that contains subfolders for developer-specific content */static FString GameDevelopersDir();/** Returns The folder name for the developer-specific directory for the current user */static FString GameUserDeveloperFolderName();/** Returns The directory that contains developer-specific content for the current user */static FString GameUserDeveloperDir();/** Returns the directory for temp files used for diffing */static FString DiffDir();/** * Returns a list of engine-specific localization paths*/static const TArray<FString>& GetEngineLocalizationPaths();/** * Returns a list of editor-specific localization paths*/static const TArray<FString>& GetEditorLocalizationPaths();/** * Returns a list of property name localization paths*/static const TArray<FString>& GetPropertyNameLocalizationPaths();/** * Returns a list of tool tip localization paths*/static const TArray<FString>& GetToolTipLocalizationPaths();/** * Returns a list of game-specific localization paths*/static const TArray<FString>& GetGameLocalizationPaths();/*** Get the name of the platform-specific localization sub-folder*/static FString GetPlatformLocalizationFolderName();/** * Returns a list of restricted/internal folder names (without any slashes) which may be tested against full paths to determine if a path is restricted or not.*/static const TArray<FString>& GetRestrictedFolderNames();/** * Determines if supplied path uses a restricted/internal subdirectory.    Note that slashes are normalized and character case is ignored for the comparison.*/static bool IsRestrictedPath(const FString& InPath);/*** Returns the saved directory that is not game specific. This is usually the same as* EngineSavedDir().** @return saved directory*/static FString GameAgnosticSavedDir();/** Returns the directory where engine source code files are kept */static FString EngineSourceDir();/** Returns the directory where game source code files are kept */static FString GameSourceDir();/** Returns the directory where feature packs are kept */static FString FeaturePackDir();/*** Checks whether the path to the project file, if any, is set.** @return true if the path is set, false otherwise.*/static bool IsProjectFilePathSet();/*** Gets the path to the project file.** @return Project file path.*/static FString GetProjectFilePath();/*** Sets the path to the project file.** @param NewGameProjectFilePath - The project file path to set.*/static void SetProjectFilePath( const FString& NewGameProjectFilePath );/*** Gets the extension for this filename.** @param    bIncludeDot     if true, includes the leading dot in the result** @return  the extension of this filename, or an empty string if the filename doesn't have an extension.*/static FString GetExtension( const FString& InPath, bool bIncludeDot=false );// Returns the filename (with extension), minus any path information.static FString GetCleanFilename(const FString& InPath);// Returns the filename (with extension), minus any path information.static FString GetCleanFilename(FString&& InPath);// Returns the same thing as GetCleanFilename, but without the extensionstatic FString GetBaseFilename(const FString& InPath, bool bRemovePath=true );// Returns the same thing as GetCleanFilename, but without the extensionstatic FString GetBaseFilename(FString&& InPath, bool bRemovePath = true);// Returns the path in front of the filenamestatic FString GetPath(const FString& InPath);// Returns the path in front of the filenamestatic FString GetPath(FString&& InPath);// Returns the leaf in the pathstatic FString GetPathLeaf(const FString& InPath);// Returns the leaf in the pathstatic FString GetPathLeaf(FString&& InPath);/** Changes the extension of the given filename (does nothing if the file has no extension) */static FString ChangeExtension(const FString& InPath, const FString& InNewExtension);/** Sets the extension of the given filename (like ChangeExtension, but also applies the extension if the file doesn't have one) */static FString SetExtension(const FString& InPath, const FString& InNewExtension);/** Returns true if this file was found, false otherwise */static bool FileExists(const FString& InPath);/** Returns true if this directory was found, false otherwise */static bool DirectoryExists(const FString& InPath);/** Returns true if this path represents a root drive or volume */static bool IsDrive(const FString& InPath);/** Returns true if this path is relative to another path */static bool IsRelative(const FString& InPath);/** Convert all / and \ to TEXT("/") */static void NormalizeFilename(FString& InPath);/*** Checks if two paths are the same.** @param PathA First path to check.* @param PathB Second path to check.** @returns True if both paths are the same. False otherwise.*/static bool IsSamePath(const FString& PathA, const FString& PathB);/** Determines if a path is under a given directory */static bool IsUnderDirectory(const FString& InPath, const FString& InDirectory);/** Normalize all / and \ to TEXT("/") and remove any trailing TEXT("/") if the character before that is not a TEXT("/") or a colon */static void NormalizeDirectoryName(FString& InPath);/*** Takes a fully pathed string and eliminates relative pathing (eg: annihilates ".." with the adjacent directory).* Assumes all slashes have been converted to TEXT('/').* For example, takes the string:*    BaseDirectory/SomeDirectory/../SomeOtherDirectory/Filename.ext* and converts it to:*    BaseDirectory/SomeOtherDirectory/Filename.ext*/static bool CollapseRelativeDirectories(FString& InPath);/*** Removes duplicate slashes in paths.* Assumes all slashes have been converted to TEXT('/').* For example, takes the string:*  BaseDirectory/SomeDirectory//SomeOtherDirectoryFilename.ext* and converts it to:*   BaseDirectory/SomeDirectory/SomeOtherDirectory/Filename.ext*/static void RemoveDuplicateSlashes(FString& InPath);/*** Make fully standard "Unreal" pathname:*    - Normalizes path separators [NormalizeFilename]*    - Removes extraneous separators  [NormalizeDirectoryName, as well removing adjacent separators]*    - Collapses internal ..'s*    - Makes relative to Engine\Binaries\<Platform> (will ALWAYS start with ..\..\..)*/static FString CreateStandardFilename(const FString& InPath);static void MakeStandardFilename(FString& InPath);/** Takes an "Unreal" pathname and converts it to a platform filename. */static void MakePlatformFilename(FString& InPath);/** * Assuming both paths (or filenames) are relative to the same base dir, modifies InPath to be relative to InRelativeTo** @param InPath Path to change to be relative to InRelativeTo* @param InRelativeTo Path to use as the new relative base* @returns true if InPath was changed to be relative*/static bool MakePathRelativeTo( FString& InPath, const TCHAR* InRelativeTo );/*** Converts a relative path name to a fully qualified name relative to the process BaseDir().*/static FString ConvertRelativePathToFull(const FString& InPath);/*** Converts a relative path name to a fully qualified name relative to the process BaseDir().*/static FString ConvertRelativePathToFull(FString&& InPath);/*** Converts a relative path name to a fully qualified name relative to the specified BasePath.*/static FString ConvertRelativePathToFull(const FString& BasePath, const FString& InPath);/*** Converts a relative path name to a fully qualified name relative to the specified BasePath.*/static FString ConvertRelativePathToFull(const FString& BasePath, FString&& InPath);/*** Converts a relative path name to a fully qualified name relative to the specified BasePath.*/static FString ConvertRelativePathToFull(FString&& BasePath, const FString& InPath);/*** Converts a relative path name to a fully qualified name relative to the specified BasePath.*/static FString ConvertRelativePathToFull(FString&& BasePath, FString&& InPath);/*** Converts a normal path to a sandbox path (in Saved/Sandboxes).** @param InSandboxName The name of the sandbox.*/static FString ConvertToSandboxPath( const FString& InPath, const TCHAR* InSandboxName );/*** Converts a sandbox (in Saved/Sandboxes) path to a normal path.** @param InSandboxName The name of the sandbox.*/static FString ConvertFromSandboxPath( const FString& InPath, const TCHAR* InSandboxName );/** * Creates a temporary filename with the specified prefix.** @param Path The file pathname.* @param Prefix The file prefix.* @param Extension File extension ('.' required).*/static FString CreateTempFilename( const TCHAR* Path, const TCHAR* Prefix = TEXT(""), const TCHAR* Extension = TEXT(".tmp") );/*** Returns a string containing all invalid characters as dictated by the operating system*/static FString GetInvalidFileSystemChars();/***  Returns a string that is safe to use as a filename because all items in*    GetInvalidFileSystemChars() are removed*/static FString MakeValidFileName(const FString& InString, const TCHAR InReplacementChar=0);/** * Validates that the parts that make up the path contain no invalid characters as dictated by the operating system* Note that this is a different set of restrictions to those imposed by FPackageName** @param InPath - path to validate* @param OutReason - optional parameter to fill with the failure reason*/static bool ValidatePath( const FString& InPath, FText* OutReason = nullptr );/*** Parses a fully qualified or relative filename into its components (filename, path, extension).** @param   Path        [out] receives the value of the path portion of the input string* @param   Filename    [out] receives the value of the filename portion of the input string* @param   Extension   [out] receives the value of the extension portion of the input string*/static void Split( const FString& InPath, FString& PathPart, FString& FilenamePart, FString& ExtensionPart );/** Gets the relative path to get from BaseDir to RootDirectory  */static const FString& GetRelativePathToRoot();template <typename... PathTypes>FORCEINLINE static FString Combine(PathTypes&&... InPaths){const TCHAR* Paths[] = { GetTCharPtr(Forward<PathTypes>(InPaths))... };FString Out;CombineInternal(Out, Paths, UE_ARRAY_COUNT(Paths));return Out;}/*** Frees any memory retained by FPaths.*/static void TearDown();protected:static void CombineInternal(FString& OutPath, const TCHAR** Paths, int32 NumPaths);private:struct FStaticData;FORCEINLINE static const TCHAR* GetTCharPtr(const TCHAR* Ptr){return Ptr;}FORCEINLINE static const TCHAR* GetTCharPtr(const FString& Str){return *Str;}/** Returns, if any, the value of the -userdir command line argument. This can be used to sandbox artifacts to a desired location */static const FString& CustomUserDirArgument();/** Returns, if any, the value of the -shaderworkingdir command line argument. This can be used to sandbox shader working files to a desired location */static const FString& CustomShaderDirArgument();
};

【UE4 C++】简单获取名称、状态、时间、帧数、路径与FPaths相关推荐

  1. Http状态码:简单获取http状态码

    简单获取http状态码 Http状态码具体含义 public static void main(String[] args) {try {String str = "https://www. ...

  2. fmpeg获取视频的总帧数

    ref:https://blog.csdn.net/u010368556/article/details/102943897 在ffmpeg中通常使用 ffprobe来获取视频流的总帧数:这种类型的任 ...

  3. ffmpeg学习日记605-指令-获取视频的总帧数

    ffmpeg学习日记605-指令-获取视频的总帧数 获取视频的总帧数 ffprobe.exe -v error -count_frames -select_streams v:0 -show_entr ...

  4. ffprobe获取视频的分辨率帧数等信息

    这里演示下如何用ffprobe获取视频的各种信息,ffprobe是和ffmepg一起的,不需要特别安装,只需要有ffmpeg,就自动会带ffprobe. 获取视频的分辨率: ffprobe_path ...

  5. 获取视频fps、总帧数

    文章目录 前言 总帧数 FPS 前言 通过慢,但是精确的方法获取总帧数 获取视频FPS 总帧数 #path为视频路径 def frame_total_num(path):CAP = cv2.Video ...

  6. ffprobe 获取视频每秒总帧数或视频总帧数及视频总时长

    获取每秒总帧数: ffprobe -v 0 -of csv="p=0" -select_streams V:0 -show_entries stream=r_frame_rate ...

  7. postgresql获取系统当前时间

    now() select now(); 结果:2021-04-23 14:29:50.043339+08 返回 年-月-日 时:分:秒.毫秒+时区 current_timestamp效果是和now() ...

  8. opencv:CAP_PROP_FRAME_COUNT获取视频帧数错误

    opencv读取视频,可以通过属性(CAP_PROP_FRAME_COUNT)获取视频的总帧数,但是有些视频通过该属性获取的帧数和实际遍历整个视频的帧数不一样. import cv2 as cv vi ...

  9. 游戏帧数,从入门到入土

    帧数是游戏圈的日经话题,也是最容易引起混乱的话题之一,部分原因是缺少必要的基本知识,另一部分原因是个人评价标准不同,这涉及到审美.阅历甚至是视力,大家的观点差异太大,经常是聊到一半就聊不下去了.个人因 ...

最新文章

  1. Ubuntu 18.04 配置 国内 apt-get 换源
  2. 职业经理人的核心技能
  3. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
  4. Qt下Tcp通信的简单使用三
  5. lintcode 最大子数组III
  6. ios 设置属性的center_【从0到1的Stata图表学习1】图例设置
  7. 漫步微积分二——微积分是什么
  8. 阶段3 3.SpringMVC·_07.SSM整合案例_07.ssm整合之编写MyBatis框架测试保存的方法
  9. 二重积分matlab算法,基于MATLAB的二重积分计算方法
  10. Mixly-RFID智能门禁
  11. 无人机航拍拍摄制作VR全景图教程
  12. 【Python入门】Turtle海龟库:利用海龟画笔交互绘制字符旋涡
  13. Android Wifi文件传输
  14. The Rust Programming Language - 第14章 更多关于Cargo和Crates.io的内容 - 14.2 将crate发布到Crate.io
  15. 板载天线设计相关资料
  16. html制作古诗网页登高,杜甫登高古诗硬笔书法作品图片
  17. 基于dlib库进行微笑识别和口罩识别
  18. 计算机毕业设计ssm东湖爱心系统的众筹设计和实现t4a84系统+程序+源码+lw+远程部署
  19. 2020科目一考试口诀_2020年驾驶员科目一满分口诀
  20. kdj指标主要看哪个值_KDJ指标怎么看?KDJ指标详解

热门文章

  1. python缩进一般是几个字符_python缩进几个字符
  2. [NOTE]Android N SmartLock缺少很多功能
  3. 如何取视频第一帧作为封面图片上传
  4. [转] 基于ArcGISServer实现活动地图标注
  5. Linux进程控制(精讲)
  6. 百度Apollo源码学习之定位系统介绍
  7. 电脑换IP工具派克斯和PPTP区别
  8. android studio 代码覆盖率,AndroidStudio中使用Jacoco统计Android应用程序代码覆盖率
  9. AI人工智能毕业设计课题:水果识别,水果识别系统,蔬菜识别系统,果蔬识别系统
  10. Android 端外推送到底有多烦?