From 872ab779725be588d7e3b435a377689ee4a5960f Mon Sep 17 00:00:00 2001 From: Hong Date: Wed, 25 Feb 2026 18:11:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=92=E4=BB=B6=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CameraCaptureDemo.uproject | 6 +- Plugins/CameraCapture/.gitignore | 54 +++++++++++++++++ Plugins/CameraCapture/Config/FilterPlugin.ini | 8 +++ .../Source/CameraCapture.Build.cs | 58 +++++++++++++++++++ .../Source/CameraCaptureModule.cpp | 19 ++++++ .../Source/CameraCaptureModule.h | 17 ++++++ Source/CameraCaptureDemo.Target.cs | 2 +- .../CameraCaptureDemo.Build.cs | 16 ++--- .../CameraCaptureDemo/CameraCaptureDemo.cpp | 2 +- Source/CameraCaptureDemo/CameraCaptureDemo.h | 2 +- Source/CameraCaptureDemoEditor.Target.cs | 2 +- 11 files changed, 171 insertions(+), 15 deletions(-) create mode 100644 Plugins/CameraCapture/.gitignore create mode 100644 Plugins/CameraCapture/Config/FilterPlugin.ini create mode 100644 Plugins/CameraCapture/Source/CameraCapture.Build.cs create mode 100644 Plugins/CameraCapture/Source/CameraCaptureModule.cpp create mode 100644 Plugins/CameraCapture/Source/CameraCaptureModule.h diff --git a/CameraCaptureDemo.uproject b/CameraCaptureDemo.uproject index 14d5a5d..03c4491 100644 --- a/CameraCaptureDemo.uproject +++ b/CameraCaptureDemo.uproject @@ -17,6 +17,10 @@ "TargetAllowList": [ "Editor" ] - } + }, + { + "Name": "CameraCapture", + "Enabled": true + } ] } \ No newline at end of file diff --git a/Plugins/CameraCapture/.gitignore b/Plugins/CameraCapture/.gitignore new file mode 100644 index 0000000..add298c --- /dev/null +++ b/Plugins/CameraCapture/.gitignore @@ -0,0 +1,54 @@ +# Ignore all files by default, but scan all directories. +* +!*/ + +# Do not ignore git files in the root of the repo. +!/.git* + +# Do not ignore current project's `.uproject`. +!/*.uproject + +# Do not ignore source, config and plugins dirs. +!/Source/** +!/Config/** +!/Plugins/** + +# Only allow .uasset and .umap files from /Content dir. +# They're tracked by git-lfs, don't forget to track other +# files if adding them here. +!/Content/**/*.uasset +!/Content/**/*.umap + +# Allow any files from /RawContent dir. +# Any file in /RawContent dir will be managed by git lfs. +!/RawContent/**/* + +# OS/platform generated files. + +# Windows +ehthumbs.db +Thumbs.db + +# Mac OS X +.DS_Store +.DS_Store? +.AppleDouble +.LSOverride +._* + +# Linux +*~ +.directory + +# vim +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist + +# Visual Studio +.vs +Intermediate +Saved +Binaries diff --git a/Plugins/CameraCapture/Config/FilterPlugin.ini b/Plugins/CameraCapture/Config/FilterPlugin.ini new file mode 100644 index 0000000..ccebca2 --- /dev/null +++ b/Plugins/CameraCapture/Config/FilterPlugin.ini @@ -0,0 +1,8 @@ +[FilterPlugin] +; This section lists additional files which will be packaged along with your plugin. Paths should be listed relative to the root plugin directory, and +; may include "...", "*", and "?" wildcards to match directories, files, and individual characters respectively. +; +; Examples: +; /README.txt +; /Extras/... +; /Binaries/ThirdParty/*.dll diff --git a/Plugins/CameraCapture/Source/CameraCapture.Build.cs b/Plugins/CameraCapture/Source/CameraCapture.Build.cs new file mode 100644 index 0000000..b340f5b --- /dev/null +++ b/Plugins/CameraCapture/Source/CameraCapture.Build.cs @@ -0,0 +1,58 @@ +// Copyright 2026 (c) Jupiter. All Rights Reserved. + +using UnrealBuildTool; +using System; +using System.IO; + +public class CameraCapture : ModuleRules +{ + public CameraCapture(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + + if (Target.Configuration != UnrealTargetConfiguration.Shipping) + { + OptimizeCode = CodeOptimization.Never; + } + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + ModuleDirectory, + } + ); + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "CoreUObject", + "Engine" + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "UMG", + "RenderCore", + "RHI", + "ImageWrapper" + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/Plugins/CameraCapture/Source/CameraCaptureModule.cpp b/Plugins/CameraCapture/Source/CameraCaptureModule.cpp new file mode 100644 index 0000000..dfe0ca8 --- /dev/null +++ b/Plugins/CameraCapture/Source/CameraCaptureModule.cpp @@ -0,0 +1,19 @@ +// Copyright 2026 (c) Jupiter. All Rights Reserved. + +#include "CameraCaptureModule.h" + +#define LOCTEXT_NAMESPACE "FCameraCaptureModule" + +DEFINE_LOG_CATEGORY(LogCameraCapture) + +void FCameraCaptureModule::StartupModule() +{ +} + +void FCameraCaptureModule::ShutdownModule() +{ +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FCameraCaptureModule, CameraCapture) diff --git a/Plugins/CameraCapture/Source/CameraCaptureModule.h b/Plugins/CameraCapture/Source/CameraCaptureModule.h new file mode 100644 index 0000000..d05779b --- /dev/null +++ b/Plugins/CameraCapture/Source/CameraCaptureModule.h @@ -0,0 +1,17 @@ +// Copyright 2026 (c) Jupiter. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogCameraCapture, All, All); + +class CAMERACAPTURE_API FCameraCaptureModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Source/CameraCaptureDemo.Target.cs b/Source/CameraCaptureDemo.Target.cs index b1cf729..dfafe8e 100644 --- a/Source/CameraCaptureDemo.Target.cs +++ b/Source/CameraCaptureDemo.Target.cs @@ -1,4 +1,4 @@ -// Copyright Epic Games, Inc. All Rights Reserved. +// Copyright 2026 (c) Jupiter. All Rights Reserved. using UnrealBuildTool; using System.Collections.Generic; diff --git a/Source/CameraCaptureDemo/CameraCaptureDemo.Build.cs b/Source/CameraCaptureDemo/CameraCaptureDemo.Build.cs index be4e1a8..a8f6631 100644 --- a/Source/CameraCaptureDemo/CameraCaptureDemo.Build.cs +++ b/Source/CameraCaptureDemo/CameraCaptureDemo.Build.cs @@ -1,4 +1,4 @@ -// Copyright Epic Games, Inc. All Rights Reserved. +// Copyright 2026 (c) Jupiter. All Rights Reserved. using UnrealBuildTool; @@ -10,14 +10,10 @@ public class CameraCaptureDemo : ModuleRules PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" }); - PrivateDependencyModuleNames.AddRange(new string[] { }); - - // Uncomment if you are using Slate UI - // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); - - // Uncomment if you are using online features - // PrivateDependencyModuleNames.Add("OnlineSubsystem"); - - // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true + PrivateDependencyModuleNames.AddRange(new string[] + { + "CameraCapture" + }); + } } diff --git a/Source/CameraCaptureDemo/CameraCaptureDemo.cpp b/Source/CameraCaptureDemo/CameraCaptureDemo.cpp index 95bec95..131af7a 100644 --- a/Source/CameraCaptureDemo/CameraCaptureDemo.cpp +++ b/Source/CameraCaptureDemo/CameraCaptureDemo.cpp @@ -1,4 +1,4 @@ -// Copyright Epic Games, Inc. All Rights Reserved. +// Copyright 2026 (c) Jupiter. All Rights Reserved. #include "CameraCaptureDemo.h" #include "Modules/ModuleManager.h" diff --git a/Source/CameraCaptureDemo/CameraCaptureDemo.h b/Source/CameraCaptureDemo/CameraCaptureDemo.h index 677c8e2..aabcf54 100644 --- a/Source/CameraCaptureDemo/CameraCaptureDemo.h +++ b/Source/CameraCaptureDemo/CameraCaptureDemo.h @@ -1,4 +1,4 @@ -// Copyright Epic Games, Inc. All Rights Reserved. +// Copyright 2026 (c) Jupiter. All Rights Reserved. #pragma once diff --git a/Source/CameraCaptureDemoEditor.Target.cs b/Source/CameraCaptureDemoEditor.Target.cs index d0d1079..e381b09 100644 --- a/Source/CameraCaptureDemoEditor.Target.cs +++ b/Source/CameraCaptureDemoEditor.Target.cs @@ -1,4 +1,4 @@ -// Copyright Epic Games, Inc. All Rights Reserved. +// Copyright 2026 (c) Jupiter. All Rights Reserved. using UnrealBuildTool; using System.Collections.Generic;