BlueRoseNote/03-UnrealEngine/Plugins/虚幻商城发布插件指南.md
2023-06-29 11:55:02 +08:00

84 lines
5.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 虚幻商城发布插件指南
date: 2022-11-04 10:17:18
excerpt: 摘要
tags:
rating: ⭐
---
## 前言
前段时间本人尝试发布自己写的插件到Market Place因为每次审核会需要1~3天时间不等所以在这里分享一下我的经验
## 添加插件描述
- CreatedByURL一般填写作者介绍的网址github仓库与主页、blog、小蓝鸟都可以的。
- Description对插件的简单描述。
- DocsURL文档网址这里我链接到自己的blog里的文章。也可以使用Github建的主页。
- MarketplaceURL在点击Add Product后就会生成一个产品ID之后将ID替换下面的URL即可。比如我的产品地址为https://publish.unrealengine.com/v3/edit-product/657c763ab2e244edbcca955eb81d8377
- SupportURL支持网址一般会使用discord。
额外需要注意的就是模块白名单(黑名单),这个需要与发布页面的**Supported Target Platforms**对应。EPIC会在审查时进行构建测试所以最好是对应平台编译测试通过添加此平台。
以下是我的插件描述仅供参考:
```
"CreatedByURL": "http://www.blueroses.top/",
"Description": "This plugin uses UnrealEngine's MeshDraw framework to achieve a multi-Pass effect looks like Unity's, with no post-processing required to achieve strokes and cutoff.",
"DocsURL": "http://www.blueroses.top/2022/05/02/multidraw-document/",
"MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/657c763ab2e244edbcca955eb81d8377",
"SupportURL": "https://discord.gg/y4fWqYsf4U",
"Modules": [
    {
        "Name": "MultiDraw",
        "Type": "Runtime",
        "LoadingPhase": "Default",
        "WhitelistPlatforms": [ "Win64" ]
    }
]
```
## Code
给所有的代码文件都加上版权声明模块cs、h、cpp文件都需要例如我这里填写了
>// Copyright 2022 BlueRose, Inc. All Rights Reserved.
有一个技巧在项目创建时可以在Project-Description-Legal-CopyrightNotice里填写之后创建新类都会自动加上版权信息。
## Content
所有会被引用的二进制Asset都必须放置到插件的Content里最后还需要使用Fix Up Redirectors In Folder对Redirector进行清理。
如果你有使用UE的ContentExample项目中的DemoRoom或者其他EPIC项目的资源那就需要注意排查将带有UnrealEngine、EPIC、UE4等Logo标志、符号的Texture与Materials都删除不然系统检查会无法通过。
案例关卡的可以放在插件的Content里但建议还是将其分离前期可能会修改2~3次再加上还需要构建其他版本的插件如果将案例关卡内容放在插件里就会占用可观的网盘空间。
## 打包与构建测试
使用构建Bat来快速构建多个版本的插件压缩包文件。
>"D:\UnrealEngine\UE_5.0\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="D:\UnrealEngine\Project\MarketPlaceProject\Plugins\MultiDraw\MultiDraw.uplugin" -Package="D:\UnrealEngine\Project\Plugins\MultiDraw\" -Rocket -VS2019
为了能看到Log我们可以使用
>cmd /k "xxxx.bat"  
打包插件完成之后上传之前把Binaries与Intermediate删除压缩成zip格式上传到google或者onedriver之类的就可以了。
## 截图
画廊一般会放置截图而且这些图片必须为1080p分辨率所以本人这里使用了UE内置的截图功能
https://docs.unrealengine.com/4.27/zh-CN/WorkingWithMedia/CapturingMedia/TakingScreenshots/
>HighResShot filename=PATH (XxY OR Multiplier) CaptureX CaptureY CaptureW CaptureH bMaskUsingCustomDepth bDumpBufferVisualizationTargets bCaptureHDR bDateTimeAsFilename
- XxY:指定截图的尺寸宽度x高度
- 乘数Multiplier:根据指定的值放大截图尺寸。
- CaptureX CaptureY CaptureW CaptureH:用整数定义视口中要用于截图的区域。
- bMaskUsingCustomDepth:用一个布尔值0或1来控制是否要用自定义深度Custom Depth缓冲作为捕获的遮罩。详情请参见自定义深度遮罩。
- bDumpBufferVisualizationTargets:用一个布尔值0或1来控制是否要将GBuffer中的每一个通道都捕获为一张图片并将其导出。
- bCaptureHDR:用一个布尔值0或1来控制是否要使用.EXR文件格式来捕获HDR图片。
- bDateTimeAsFilename:用一个布尔值0或1来控制是否要在生成的文件名中加入时间戳。
因为展示需要1080p所以我们只需要使用这个命令即可。
>HighResShot 1920x1080
## 视频推荐
我推荐查看以下这3个视频
Unreal Engine How To Sell Plugins #1: "Create Plugin"
https://www.youtube.com/watch?v=v3_HkAU_rls
Unreal Engine How To Sell Plugins #3: "PackagePlugin"
https://www.youtube.com/watch?v=SKArLiShb9c
Unreal Engine How To Sell Plugins #4: "Submitting Plugin for Approval"
https://www.youtube.com/watch?v=-6QYlGVRIkI
## 本人插件
![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/MultiDraw_MarketPlace.png)
想制作backface outline、Fur没在插件中实现等需要多Pass的功能的效果可以考虑使用我的插件
https://www.unrealengine.com/marketplace/en-US/product/multidraw