From 86aab0e84f0fa0b08f843c3ef7887b4820c2e2fb Mon Sep 17 00:00:00 2001 From: ghostrider-05 Date: Fri, 6 Sep 2024 01:18:18 +0200 Subject: [PATCH] update other guide & config pages --- docs/.vitepress/config/cms/blocks.ts | 170 +++++++++++++++++++++- docs/.vitepress/config/cms/collections.ts | 3 +- docs/.vitepress/config/cms/index.ts | 6 +- docs/.vitepress/config/navbar.ts | 10 +- docs/.vitepress/config/sidebar.ts | 40 ++--- docs/.vitepress/theme/index.ts | 9 +- docs/essential/07_udk_editor.md | 20 +-- docs/essential/08_content_browser.md | 38 +++-- docs/essential/09_sticky_walls.md | 10 +- docs/essential/index.md | 4 +- docs/guide/blender/04_modeling.md | 3 - docs/guide/blender/06_uv.md | 2 +- docs/guide/misc/08_custom_udk.md | 2 +- docs/guide/udk/00_start.md | 4 +- docs/guide/udk/11_volumes.md | 3 - docs/guide/udk/19_boost.md | 3 - docs/more/about.md | 11 +- docs/{ue5/comparison.md => more/ue5.md} | 10 +- docs/resources/references/ue5.md | 24 --- docs/tipstricks/index.md | 16 ++ docs/ue5/index.md | 13 -- 21 files changed, 284 insertions(+), 117 deletions(-) rename docs/{ue5/comparison.md => more/ue5.md} (92%) delete mode 100644 docs/resources/references/ue5.md create mode 100644 docs/tipstricks/index.md delete mode 100644 docs/ue5/index.md diff --git a/docs/.vitepress/config/cms/blocks.ts b/docs/.vitepress/config/cms/blocks.ts index e3db6abd..0b29d50b 100644 --- a/docs/.vitepress/config/cms/blocks.ts +++ b/docs/.vitepress/config/cms/blocks.ts @@ -1,14 +1,116 @@ -import { DecapCmsField } from 'vite-plugin-decap-cms' +import { createField, DecapCmsField, fieldToSnakeCase, Options } from 'vite-plugin-decap-cms' + +type Block = NonNullable['markdownEditorComponents']>[number] + +interface ComponentBlockOptions { + id: string + label: string + props: DecapCmsField[] + templateField?: { + label: string + labelSingular: string + nameLabel?: string + contentLabel?: string + names?: string[] + } +} + +// TODO: fix enters while transitioning +function createComponentBlock (options: ComponentBlockOptions): Block { + const { id, label, props, templateField } = options + + interface ComponentData { + templates: { + name: string | null; + content: string; + }[] + props: Record + } + + return { + id, + label, + pattern: new RegExp(`^<${id}(.*)>((.|\\n)*?)<\\/${id}>$`, 'm'), + fields: [ + createField('object', { + name: 'props', + label: 'Properties', + required: false, + collapsed: true, + fields: props.map(fieldToSnakeCase), + }), + templateField != undefined ? createField('list', { + name: 'templates', + label: templateField.label, + label_singular: templateField.labelSingular, + allow_add: true, + required: false, + min: 1, + fields: [ + createField(templateField.names ? 'select' : 'string', { + name: 'name', + required: false, + label: templateField.nameLabel ?? 'Name', + // @ts-expect-error + options: templateField.names, + }), + createField('markdown', { + name: 'content', + required: true, + label: templateField.contentLabel ?? 'Content', + }), + ].filter((n): n is NonNullable => n != undefined), + }) : undefined, + ].filter(n => n) as Block['fields'], + fromBlock: function (match): ComponentData { + console.log(match) + const props = match.at(1), slots = match.at(2) + + return { + props: props != undefined + ? props.split(/(?= :)(?<=")/) + .map(str => str.trim().replace(':', '').split('=', 2)) + .reduce((obj, value) => ({ ...obj, [value[0]]: value[1] }), {}) + : {}, + templates: slots != undefined + ? slots.split('').filter(str => str.length).map((slot) => { + //@ts-ignore + const results = /^` + }) + + const props = Object.entries(data.props) + .reduce((str, prop) => str + ` :${prop[0]}="${prop[1]}"`, ' ') + + return `<${id}${props}>\n${templates}\n` + }, + toPreview: function (data: ComponentData) { + return '' + }, + } +} type BlockFields = { summary?: string, contents: string, type: string } -export const customContainerBlock = { +const customContainerBlock: Block = { id: 'custom-block', - label: 'Custom block', + label: 'Custom comtainer', fields: [ { name: 'type', - label: 'Type of block', + label: 'Type of comtainer', widget: 'select', required: true, options: [ @@ -36,7 +138,7 @@ export const customContainerBlock = { ] satisfies DecapCmsField[], // @ts-expect-error Needs flag to work pattern: /^:::(\w+)(.*?)\n(.*?)\n^:::$/ms, - fromBlock: function (match: RegExpMatchArray): BlockFields { + fromBlock: function (match): BlockFields { return { type: match[1], summary: match[2], @@ -50,3 +152,61 @@ export const customContainerBlock = { return `:::${data.type} ${data.summary}\n${data.contents}\n:::` }, } + +export default [ + customContainerBlock, + createComponentBlock({ + id: 'steps', + label: 'Steps component', + templateField: { + label: 'Steps', + labelSingular: 'step', + }, + props: [ + createField('string', { + name: 'color', + label: 'Color', + required: false, + }), + ], + }), + createComponentBlock({ + id: 'tabs', + label: 'Tabs component', + templateField: { + label: 'Tabs', + labelSingular: 'tab', + nameLabel: 'Id', + }, + props: [ + createField('list', { + name: 'tabs', + label: 'Tab names', + label_singular: 'name', + allow_add: true, + required: true, + }), + createField('string', { + name: 'startTab', + label: 'Start tab name', + required: false, + }), + createField('string', { + name: 'searchParam', + label: 'Search parameter', + required: false, + }), + ] + }), + createComponentBlock({ + id: 'ActionBlock', + label: 'Action block component', + templateField: { + label: 'Content', + labelSingular: 'content', + names: ['left', 'right'], + nameLabel: 'Position', + }, + props: [], + }), +] diff --git a/docs/.vitepress/config/cms/collections.ts b/docs/.vitepress/config/cms/collections.ts index 79c85800..08cae199 100644 --- a/docs/.vitepress/config/cms/collections.ts +++ b/docs/.vitepress/config/cms/collections.ts @@ -140,7 +140,8 @@ export default function (): DecapCmsCollection[] { return createFolderCollection({ base, label: config.text ?? items[0].text!, - mediaFolder: '', + description: config.description, + mediaFolder: config.mediaFolder, }) }), ] diff --git a/docs/.vitepress/config/cms/index.ts b/docs/.vitepress/config/cms/index.ts index 933336f5..dd1c30b0 100644 --- a/docs/.vitepress/config/cms/index.ts +++ b/docs/.vitepress/config/cms/index.ts @@ -8,7 +8,7 @@ import { WEBSITE_URL, } from '../shared' -import { customContainerBlock } from './blocks' +import markdownEditorComponents from './blocks' import createCollections, { getCollectionItemEditLink } from './collections' import { mediaFolder, publicFolder } from './options' @@ -23,9 +23,7 @@ export default decap({ title: config.cms.title, }, script: { - markdownEditorComponents: [ - customContainerBlock, - ], + markdownEditorComponents, }, config: { backend: { diff --git a/docs/.vitepress/config/navbar.ts b/docs/.vitepress/config/navbar.ts index f85d4d32..14aaf54b 100644 --- a/docs/.vitepress/config/navbar.ts +++ b/docs/.vitepress/config/navbar.ts @@ -78,6 +78,10 @@ export default [ text: 'References', link: '/resources/references/guide' }, + { + text: 'Tips and Tricks', + link: '/tipstricks/' + }, { text: 'Community', items: [ @@ -121,12 +125,16 @@ export default [ text: 'Roadmap', link: '/more/roadmap' }, + { + text: 'UE5', + link: '/more/ue5' + }, { text: 'Contribute', items: [ { text: 'Contributing guide', - link: GITHUB_REPOSITORY_URL + `/blob/${GITHUB_DEFAULT_BRANCH}/CONTRIBUTING.md` + link: `${GITHUB_REPOSITORY_URL}/blob/${GITHUB_DEFAULT_BRANCH}/CONTRIBUTING.md` }, { text: 'GitHub', diff --git a/docs/.vitepress/config/sidebar.ts b/docs/.vitepress/config/sidebar.ts index 8ee01e5f..f628b4af 100644 --- a/docs/.vitepress/config/sidebar.ts +++ b/docs/.vitepress/config/sidebar.ts @@ -417,15 +417,14 @@ const sidebar: Sidebar = { base: '/cheatsheet/', meta: { description: '', - mediaFolder: '', + mediaFolder: 'cheatsheets/', }, items: [ { - text: 'Cheat Sheets', - collapsed: false, + text: 'Cheatsheets', items: [ { - text: 'Cheat Sheets', + text: 'Cheatsheets', link: 'index.html', }, { @@ -481,6 +480,20 @@ const sidebar: Sidebar = { ] }, + '/tipstricks/': { + base: '/tipstricks/', + meta: { + description: 'Tips and tricks', + mediaFolder: 'tipstricks/', + }, + items: [ + { + text: 'Tips & tricks', + link: 'index.html' + }, + ] + }, + '/resources/references/': { base: '/resources/references/', meta: { @@ -490,25 +503,15 @@ const sidebar: Sidebar = { items: [ { text: 'References', - collapsed: false, items: [ { - text: 'Guide', + text: 'Guide links', link: 'guide', }, - { - text: 'Psyonix Links', - link: 'psyonix', - }, - { - text: 'UE5', - link: 'ue5', - }, ] }, { - text: 'Kismet References', - collapsed: false, + text: 'Kismet', items: [ { text: 'Kismet nodes', @@ -532,7 +535,6 @@ const sidebar: Sidebar = { items: [ { text: 'More Information', - collapsed: false, items: [ { text: 'About', @@ -550,6 +552,10 @@ const sidebar: Sidebar = { text: 'Roadmap', link: 'roadmap', }, + { + text: 'UE5', + link: 'ue5' + } ], }, ] diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 51f51de7..6d41d5fb 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -7,6 +7,13 @@ export default { ...ThemeRLMM, enhanceApp (ctx) { ThemeRLMM.enhanceApp(ctx) - ctx.app.component('DocFeatures', DocFeatures) + + const components = [ + ['DocFeatures', DocFeatures], + ] as const + + for (const [name, component] of components) { + ctx.app.component(name, component) + } }, } satisfies Theme diff --git a/docs/essential/07_udk_editor.md b/docs/essential/07_udk_editor.md index e2cb1a46..5abe14ed 100644 --- a/docs/essential/07_udk_editor.md +++ b/docs/essential/07_udk_editor.md @@ -14,7 +14,7 @@ pageClass: page-inline-images * File - Contains what you would expect. **However, CTRL+S IS NOT SAVE. To save, you have to manually click Save. Save All will save any external packages you have also modified (and can cause UDK to crash). Save Current Level is typically the right choice.** * Edit - Everything in this menu may also be found in the various toolbars. -* View - **`Browser Windows > Content Browser` to open the Content Browser if you close it.** The options through the middle are reasonably self-explanatory. But, I would like to highlight the `New Viewport` and `Viewport Configuration` options at the bottom. These allow you to have multiple views open, which is a workflow that some people are more comfortable with. **To eliminate part of a split viewport, resize it to 0.** +* View - `Browser Windows > Content Browser` **to open the Content Browser if you close it.** The options through the middle are reasonably self-explanatory. But, I would like to highlight the `New Viewport` and `Viewport Configuration` options at the bottom. These allow you to have multiple views open, which is a workflow that some people are more comfortable with. **To eliminate part of a split viewport, resize it to 0.** * Brush - These options are all found in section 11 of the GUI. They build geometry in the viewer. * Build - This is for finalizing the map. Before you test it in-game, it is always a good idea to `Build Paths`. If you want to see your map in its full beauty, you should `Build Lighting`. Alternatively, you can just `Build All` whenever you feel like it. Building can take a while, but will catch any errors like invalid spawn points or invalid geometry. * Play - Sadly, this menu is dead to us. @@ -32,7 +32,7 @@ New, load, save, etc. No surprises here. ![](/images/udk/essential/ui_editor_window.png) -Undo, redo, and then the settings for the manipulator widget. These are to move/translate, rotate, scale uniformly, and scale per axis. The dropdown menu for World/Local changes the coordinate system. +Undo, redo, and then the settings for the manipulator widget. These are to move/translate, rotate, scale uniformly, and scale per axis. Spacebar will switch between translate, rotate, and scale. The dropdown menu for World/Local changes the coordinate system. **Right clicking these buttons spawns a pop-up which allows for typing exact values.** ### 4 - Editor Window Actor Search @@ -126,21 +126,21 @@ When you have an actor selected and do either a double click, `right click > Pro As you mouse over the various buttons on the right edge, the tooltips will fill you in on what they do. However, it can still be a little unclear from their descriptions. -![](/images/udk/essential/ui_properties_use.png) - Use Selected Object In Content Browser - First, select the material/texture/mesh/whatever you intend to use in the viewer panel of the Content Browser. Then, click this arrow to autofill with its full UPK reference name (such as PhysicalMaterial'TestMap.PhysicalMaterials.StickyWalls'). +![](/images/udk/essential/ui_properties_use.png) - **Use Selected Object In Content Browser** - First, select the material/texture/mesh/whatever you intend to use in the viewer panel of the Content Browser. Then, click this arrow to autofill with its full UPK reference name (such as PhysicalMaterial'TestMap.PhysicalMaterials.StickyWalls'). -![](/images/udk/essential/ui_properties_search_cb.png) - Find Object in Content Browser - Navigates to and selects the listed item in the content browser. This is the easiest way to jump around, because you don’t have to remember where every last material is buried. +![](/images/udk/essential/ui_properties_search_cb.png) - **Find Object in Content Browser** - Navigates to and selects the listed item in the content browser. This is the easiest way to jump around, because you don’t have to remember where every last material is buried. -![](/images/udk/essential/ui_properties_clear.png) - Clear Text - Wipes this box clean, almost like backspace or delete would do. +![](/images/udk/essential/ui_properties_clear.png) - **Clear Text** - Wipes this box clean, almost like backspace or delete would do. -![](/images/udk/essential/ui_properties_remove_all.png) - Remove All Items From This Array - Clear the entire array. In the image above, the array is already empty. +![](/images/udk/essential/ui_properties_remove_all.png) - **Remove All Items From This Array** - Clear the entire array. In the image above, the array is already empty. -![](/images/udk/essential/ui_properties_add.png) - Add a New Item - For arrays, such as StaticMeshActors with multiple Materials or a map with multiple spawn points, you may need to manually create open slots. Clicking this will create a slot which has a few more options, as shown below. +![](/images/udk/essential/ui_properties_add.png) - **Add a New Item** - For arrays, such as StaticMeshActors with multiple Materials or a map with multiple spawn points, you may need to manually create open slots. Clicking this will create a slot which has a few more options, as shown below. -![](/images/udk/essential/ui_properties_copy.png) - Create a Copy of This Item - Couldn’t have said it better myself. +![](/images/udk/essential/ui_properties_copy.png) - **Create a Copy of This Item** - Couldn’t have said it better myself. -![](/images/udk/essential/ui_properties_remove.png) - Remove This Item - As advertised. +![](/images/udk/essential/ui_properties_remove.png) - **Remove This Item** - As advertised. -![](/images/udk/essential/ui_properties_insert_before.png) - Insert a New Item Before This Item - Really stunning iconographic work here. +![](/images/udk/essential/ui_properties_insert_before.png) - **Insert a New Item Before This Item** - Really stunning iconographic work here. ## Right Click Menu diff --git a/docs/essential/08_content_browser.md b/docs/essential/08_content_browser.md index 45d4913e..66642b56 100644 --- a/docs/essential/08_content_browser.md +++ b/docs/essential/08_content_browser.md @@ -6,18 +6,18 @@ outline: 3 ## Content Browser -Resources for how to actually use UDK are few and far between (mainly because nobody has used it since 2016), so I will discuss some of the basics here. Things are hidden in menus, with unclear iconography and unclear names, and I can’t cover it all here. Feel free to @me in Discord if you need UDK help. +Resources for how to actually use UDK are few and far between (mainly because nobody has used it since 2016), so I will discuss some of the basics here. Things are hidden in menus, with unclear iconography and unclear names, and I can’t cover it all here. Feel free to `@Mr. Swaggles` in Discord if you need specific UDK help. ### Key Terms -* UDK - Unreal Development Kit - For making games in Unreal Engine 3 (like Rocket League) -* UPK - UDK Package - A library of assets to use in UDK -* World - The defining characteristics of everything, like lighting and physics -* Scene/Level - The visible portion of the world (almost all maps will just be one level) -* Actor - Any object within the world -* Mesh - A 3D object made of vertices, edges, and faces -* Material - The surface properties of a mesh -* Texture - A 2D image UV mapped onto a 3D mesh using a material +* **UDK** - Unreal Development Kit - For making games in Unreal Engine 3 (like Rocket League) +* **UPK** - UDK Package - A library of assets to use in UDK +* **World** - The defining characteristics of everything, like lighting and physics +* **Scene/Level** - The visible portion of the world (almost all maps will just be one level) +* **Actor** - Any object within the world +* **Mesh** - A 3D object made of vertices, edges, and faces +* **Material** - The surface properties of a mesh +* **Texture** - A 2D image UV mapped onto a 3D mesh using a material ### Content Browser @@ -25,15 +25,23 @@ First off, you will want to open the Content Browser. If it is not already open, ![Content browser with the filter and package panel in red bordered boxes](/images/udk/essential/content_browser_panels.png "The browser of content") -The first tab, `Content Browser`, is used to browse through UDK packages within the UDK install. The lower left panel allows you to jump between packages. In the upper middle, you can filter the visible content by type, and also search by name in the bar above. If something isn’t showing up that you believe should be there, check that there is no name filter and no type filter. If it is still not there, UDK may have dynamically unloaded it. Right click the package, and click Fully Load. +The first tab, `Content Browser`, is used to browse through UDK packages within the UDK install. The lower left panel allows you to jump between packages. In the upper middle, you can filter the visible content by type, and also search by name in the bar above. If something isn’t showing up that you believe should be there, check that there is no name filter and no type filter. If it is still not there, UDK may have dynamically unloaded it. **Right click the package, and click Fully Load.** ### Package Management -To make custom maps easier to use, **every mesh/material/actor used needs to be contained either within a Rocket League package (e.g. `Park_P.upk`), a UDK package (given that those have been correctly inserted into `{CookedPCConsole}`), or the map package itself.** Rocket League only knows about objects within the `{CookedPCConsole}` packages, and unfortunately most people who play your maps will not take the extra step of inserting the UDK default packages into their `{CookedPCConsole}` folder, meaning that your map will be sad shades of blue and white. However, it will still function properly as long as all of your mesh objects come from Rocket League or the map package itself. +To make custom maps easier to use, **every mesh/material/actor used needs to be contained either within a Rocket League package (e.g. `Park_P.upk`), a UDK package which has already been correctly inserted into `{CookedPCConsole}`), or the map package itself.** Rocket League only knows about objects within the `{CookedPCConsole}` packages, and unfortunately most people who play your maps will not take the extra step of inserting the UDK default packages into their `{CookedPCConsole}` folder, meaning that your map will be sad shades of blue and white. However, it will still function properly as long as all of your mesh objects come from Rocket League or the map package itself. + +:::warning THE MOST COMMON NEWBIE MISTAKE +If your map is named `MyTestMap1`, **make quintuple sure all assets are inside the folder `MyTestMap1` in the Content Browser.** If they are not, pieces of your map will magically vanish when you try to play it in Rocket League. This is the single most common mistake new mapmakers make. +::: + +![](/images/UDK/essential/moveobjects.png "Move it or lose it") + +If your assets are in the wrong package, **select them, right click, and select `Move or Rename...`** Type in the name of your map and click OK. ### Scene -The second most useful tab of the Content Browser is Scene. In here, you can select and modify properties of all Actors in the world. +The second most useful tab of the Content Browser is Scene. In here, you can select and modify properties of all Actors in the project. ![Scene view with the objects in the map](/images/udk/essential/content_browser_scene.png "The browser of scene actors") @@ -45,10 +53,10 @@ Remember the weird Rocket League Dummy Classes folders/files? This is where you ![Tree view of placeable Actor classes](/images/udk/essential/content_browser_classes.png "The browser of actor classes") -The easiest way to use this tab is to search for the type of actor that you need to add, then drag it from here into the 3d editor window. For example, each boost pad will need an FXActor_Boost_TA on it to function like we would expect. This is where you would find that. +The easiest way to use this tab is to search for the type of actor that you need to add, then drag it from here into the 3D editor window. For example, each boost pad will need an `FXActor_Boost_TA` on it to function like we would expect. This is those classes may be found. ### Levels and Layers -The Levels tab is, surprisingly, great for jumping between levels. If you choose to use them, they can be a great way to compartmentalize your project. Dribble or aerial control map creators like to use levels to make Easy, Medium, and Hard paths, for example. For most maps, this tab is completely unused. +The Levels tab is, surprisingly, for jumping between levels. For most maps, this tab is completely unused because the entire project exists within one "Level." -The Layers tab allows for organizing assets within the same level. It is also completely optional. +The Layers tab allows for organizing assets within the project. It is also completely optional, but can be a great way to compartmentalize a complex project and hide objects which interrupt the design workflow. diff --git a/docs/essential/09_sticky_walls.md b/docs/essential/09_sticky_walls.md index 6d08f483..b2fdade7 100644 --- a/docs/essential/09_sticky_walls.md +++ b/docs/essential/09_sticky_walls.md @@ -3,7 +3,7 @@ title: Sticky Walls --- # Sticky Walls ™ -**There is one more bit of very important setup.** Now that UDK is open and we’re in the Content Browser, we need to create a package to store some objects that will be useful across all projects. In the bottom left of the Content Browser tab, **click New to make a new package.** We’re going to keep a few assets in here that we copy into any future project. Call it something generic like Generic, General, RLMods, MyPackage, or whatever you think is best. +**There is one more bit of very important setup.** Now that UDK is open and we’re in the Content Browser, we can create a package to store some objects that will be useful across all projects. In the bottom left of the Content Browser tab, **click New to make a new package.** We’re going to keep a few assets in here that we copy into any future project. Call it something generic like Generic, General, RLMods, MyPackage, or whatever you think is best. ![Menu for creating a new PhysicalMaterial](/images/udk/essential/stickywalls_factory.png "Time to get sticky… together") @@ -18,12 +18,14 @@ After you click OK, you will see a new PhysicalMaterial within the Content Brows **If the Properties window doesn’t open by default, double click StickyWalls. Scroll to the bottom and click the small blue arrow on the right. Inside there, assuming the UDK setup went correctly, there is an option for `PhysicalMaterialProperty_TA`. Select this, and more options appear below. Check “Sticky Wheels” and close the properties window.** -:::tip -Whenever you start a new map, you will need to copy the StickyWalls® material into the new package. More on that later. +:::tip New maps +Whenever you start a new map, you will need to copy the StickyWalls® material into the new package or create a new instance of it. More on that later. ::: ## The World Awaits -Congratulations, you have completed the setup guide! You now have everything you need to make custom maps for Rocket League. This would be a perfect time to revisit the flowchart from the beginning of this section. +**Congratulations**, you have completed the setup guide! You now have everything you need to make custom maps for Rocket League. This would be a perfect time to revisit the flowchart from the beginning of this section. [The Flowchart](flowchart.md) + +When you are ready, dive into the rest of the guide! diff --git a/docs/essential/index.md b/docs/essential/index.md index 07e6ada3..16e0f9d4 100644 --- a/docs/essential/index.md +++ b/docs/essential/index.md @@ -4,7 +4,7 @@ title: Essentials # Mapmaking Essentials -![Introduction image](/images/udk/essential/dangerous.png "Also dangerous to take this") +![Introduction image](/images/udk/essential/dangerous.png "It is also dangerous to take this") ## Getting Started @@ -25,4 +25,4 @@ Join the [Rocket League Mapmaking Discord Server](https://discord.gg/PWu3ZWa) to ## Feedback -The whole website can be found [on GitHub](https://github.com/RocketLeagueMapmaking/RL-docs) and we <3 improvements and corrections (or drop a message in the Discord server with some feedback). If you want to report incorrect documentation, please open an issue on our [issue tracker](https://github.com/RocketLeagueMapmaking/RL-docs/issues) +The whole website can be found [on GitHub](https://github.com/RocketLeagueMapmaking/RL-docs) and we <3 improvements and corrections (or drop a message in the Discord server with some feedback). If you want to report incorrect documentation, please open an issue on our [issue tracker](https://github.com/RocketLeagueMapmaking/RL-docs/issues). diff --git a/docs/guide/blender/04_modeling.md b/docs/guide/blender/04_modeling.md index 23ccc774..0caf3d80 100644 --- a/docs/guide/blender/04_modeling.md +++ b/docs/guide/blender/04_modeling.md @@ -321,6 +321,3 @@ Now, let’s make the hand do something interesting. **Move the 3D cursor to the - MatCaps are a great way to view your meshes Have fun! Blender is great! - - - diff --git a/docs/guide/blender/06_uv.md b/docs/guide/blender/06_uv.md index 5998f3f3..607a9658 100644 --- a/docs/guide/blender/06_uv.md +++ b/docs/guide/blender/06_uv.md @@ -71,7 +71,7 @@ Sadly, we’re stuck with very basic material creation capabilities within UDK, This is why I recommend creating a set of slightly colorized materials, so that you can more easily see which parts of the mesh have which material. For CeilingGoal, the net portion of the goal needs to be transparent so that the creepy hand is visible, but the rest of the wall needs to be opaque. -![Red box highlighting the assign action for the material selected](/images/blender/basics/uv_material_assign.png "The assignment") +![Red box highlighting the assign action for the material selected](/images/blender/basics/uv_material_assign.png "Your assignment") In Edit Mode, **select the faces which will receive this material. Navigate to the Materials tab, select the second (or third, etc) material, and click Assign.** If you have the 3D View subwindow in Material Preview shading mode, you will see this portion of the mesh change color. diff --git a/docs/guide/misc/08_custom_udk.md b/docs/guide/misc/08_custom_udk.md index 88728871..e7a32cf9 100644 --- a/docs/guide/misc/08_custom_udk.md +++ b/docs/guide/misc/08_custom_udk.md @@ -132,4 +132,4 @@ defaultproperties ## More -If you are willing to dive into the config files and source code of UDK to discover more tricks, please share anything interesting that you find! Let's wait until Psyonix uses [UE5](../../ue5/) to make Rocket League +If you are willing to dive into the config files and source code of UDK to discover more tricks, please share anything interesting that you find! diff --git a/docs/guide/udk/00_start.md b/docs/guide/udk/00_start.md index cc267e74..6bdff0ed 100644 --- a/docs/guide/udk/00_start.md +++ b/docs/guide/udk/00_start.md @@ -11,12 +11,12 @@ If you're reading this, hopefully you have completed all of the steps in the [Es * Installed UDK 2015 * Added Dummy Classes to UDK install -* Installed 3D software, like Blender +* Installed 3D modeling software, like Blender * Installed image editing software, like Paint.net * Created a StickyWalls Physical Material If so, you're ready to go. Recall this [flowchart](../../essential/flowchart.md) from the Essentials guide. This will help you focus your energy. -**By the time you reach the end of this section, you will have made a fully functional custom map that can be played with friends.** If you skip too much, you might be left wondering why the shadows in your map are so harsh, for example. +**By the time you reach the end of this section, you will have made a fully functional custom map that can be played with friends.** If you skip too much, you might be left wondering why you fall through the floor, or why the shadows in your map are so harsh, or why your game crashes every time you load your map. You'll likely require assistance at some point in your journey. Please check the [FAQ](../../faq/) or [contact us](../../more/contact) for assistance. Join the [Rocket League Mapmaking Discord Server](https://discord.gg/PWu3ZWa) to get connected. diff --git a/docs/guide/udk/11_volumes.md b/docs/guide/udk/11_volumes.md index e635d789..429d5fd9 100644 --- a/docs/guide/udk/11_volumes.md +++ b/docs/guide/udk/11_volumes.md @@ -79,6 +79,3 @@ UDK is able to use **.DXF** files as inputs to its brush system. This is a filet **At the bottom of the Brush menu, click `Import...`**. Find your brush and import it. If you don't see it, try pressing `B` a few times to hide and unhide it. You are now able to add volumes in whatever wacky shapes you want! There might be reasons you want hollow TriggerVolumes, or GravityVolumes shaped exactly to fill parts of your map. - - - diff --git a/docs/guide/udk/19_boost.md b/docs/guide/udk/19_boost.md index 94dc261a..ed8b2f04 100644 --- a/docs/guide/udk/19_boost.md +++ b/docs/guide/udk/19_boost.md @@ -206,6 +206,3 @@ Slot 1 will be the effect that plays when the boost is picked up, which is imple | “res” | Respawn Delay | 4 | **Remember to assign the `FXActor_Boost_TA` to the FXActor slot as well.** - - - diff --git a/docs/more/about.md b/docs/more/about.md index 4023d1aa..47fa5a38 100644 --- a/docs/more/about.md +++ b/docs/more/about.md @@ -50,7 +50,7 @@ teams: title: Bakkesmod Creator avatar: https://github.com/BakkesModOrg.png - name: glhglh - title: Collision Channels, AlphaConsole Plugin, Foundational Discoveries + title: AlphaConsole Plugin, Collisions, Foundational Discoveries avatar: https://avatars.akamai.steamstatic.com/67e045fb949aec814145fd1b4659d416ef6610a7_medium.jpg - name: CinderBlock title: Bakkesmod Genius @@ -68,7 +68,7 @@ teams: title: Fixed Collisions, Guides, Custom Materials, In-Game Assets avatar: https://avatars.akamai.steamstatic.com/c6b6740fd277f806ec450c2a8b50f4368dd114d9_medium.jpg - name: Stanbroek - title: Advanced Map and Kismet Techniques, Rocket Plugin + title: Rocket Plugin, Advanced Map and Kismet Techniques avatar: https://avatars.akamai.steamstatic.com/1bdd44992128e186f6c880a45458e0f9d2fe9dc5_medium.jpg - name: Thanrek title: Advanced Map and Kismet Techniques @@ -89,7 +89,7 @@ teams: title: UE Explorer Program avatar: https://github.com/EliotVU.png - name: Martinn - title: UPK Decryptor, Dummy Assets, Bakkesmod Work + title: UPK Decryptor, Dummy Assets, Bakkesmod Work, Numerous Plugins avatar: https://github.com/Martinii89.png - name: LiveDimensions title: Tech Support @@ -115,6 +115,9 @@ teams: - name: JetFox title: Rocket Host Plugin, Map Hosting avatar: https://cdn.discordapp.com/avatars/172783765574254592/f755b90d5c44c83545b2e3f43e729e39.webp + - name: Simple Shark + title: Countless Custom Maps, Netcode Plugin and Flash Tutorials + avatar: https://avatars.akamai.steamstatic.com/01bfc62ac4e2fbace1c7800c9dbcf7e6e9f97463_medium.jpg - name: ghostrider-05 title: RocketLeagueMapmaking.com avatar: https://github.com/ghostrider-05.png @@ -136,7 +139,7 @@ First off, a sincere thanks to all of you for using this guide in its various fo ### Bio - Mr. Swaggles -Who am I? I have a few names, depending on where you find me: Mr. Swaggles in Rocket League, Dasoccerguy in DMs or other places, and Dr. Swaggles for smurfing/testing. I have used Blender since 2003, though only for hobby-level projects. I consider myself very competent with Blender, but I am by no means a professional and I still have much to learn. I have been playing Rocket League since one week after release, and I can safely say that it is my favorite game ever. Most often you’ll find me shooting some Hoops. +Who am I? I have a few names, depending on where you find me: Mr. Swaggles in Rocket League, Dasoccerguy in DMs or other places, and Dr. Swaggles for smurfing/testing. I have used Blender since 2003, though only for hobby-level projects. I consider myself very competent with Blender, but I am by no means a professional and still have much to learn. I have been playing Rocket League since one week after release, and I can safely say that it is my favorite game ever. Most often you’ll find me shooting some Hoops. diff --git a/docs/ue5/comparison.md b/docs/more/ue5.md similarity index 92% rename from docs/ue5/comparison.md rename to docs/more/ue5.md index abba4dcd..dc4cc8ff 100644 --- a/docs/ue5/comparison.md +++ b/docs/more/ue5.md @@ -1,8 +1,12 @@ --- -title: UDK vs UE5 +title: Unreal Engine 5 --- -# UDK/UE4/UE5 Overview +# Rocket League and Unreal Engine 5 + +After rumors following the leaked plans for Rocket League, that it will be transitioned to UE5, Devin acknowledged on Reddit that this is an ongoing project for Psyonix. + +What the effects are for Rocket League map making are not clear until Psyonix shares their plans. For now, you don't need to learn UE5 as it will take some time before they finish this long-term project. ## Background info - UDK @@ -54,7 +58,7 @@ title: UDK vs UE5 ### Distribution * Nexusmods is a common platform for mod distribution that works with many Unreal Engine games -* [Epic Launcher roadmap](https://trello.com/b/GXLc34hk/epic-games-store-roadmap) lists “Mod Support For Games” as a finished feature a year ago, but has only been added for a handful of games so far +* [Epic Launcher Roadmap](https://trello.com/b/GXLc34hk/epic-games-store-roadmap) lists “Mod Support For Games” as a finished feature a year ago, but has only been added for a handful of games so far * Generally speaking UE4/5 were made in the era of SaaS (software as a service) with an emphasis on creating games which will be updated/upgraded over time, so they are much better suited from the ground up for distributing and maintaining files such as plugins, skins, etc ## UE5 Upgrade Challenges diff --git a/docs/resources/references/ue5.md b/docs/resources/references/ue5.md deleted file mode 100644 index 46535e91..00000000 --- a/docs/resources/references/ue5.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: UE5 ---- - -# UE5 References - -* [A list of statements from Psyonix about UE5](psyonix.html#statements-about-ue5) - -## Videos - -:::tip List -This is a partial list of some videos from Rocket League modders and map makers. For more videos, check [YouTube.](https://www.youtube.com/results?search_query=rocket+league+ue5) -::: - -* [HalfwayDead - This update could make or break Rocket League.](https://www.youtube.com/watch?v=h_UbuSrVrgI) -* [Simple Shark - Is UE5 Rocket League the end of MapMaking?](https://www.youtube.com/watch?v=C0rjpmjT2q0) - -## Reddit - -* [u/ryangoldfish post](https://www.reddit.com/r/RocketLeague/comments/p7oyyf/rocket_league_moving_to_unreal_engine_5_confirmed/) ([original tweet](https://twitter.com/GoldfishRL/status/1428479509905424392)) - -## Web - -* [Psyonix job offer that leaked the move to UE5](https://epicgames.wd5.myworkdayjobs.com/en-US/Psyonix_Careers/job/San-Diego-CA/Marketing-Copywriter_R5008) diff --git a/docs/tipstricks/index.md b/docs/tipstricks/index.md new file mode 100644 index 00000000..8c9b929c --- /dev/null +++ b/docs/tipstricks/index.md @@ -0,0 +1,16 @@ +--- +title: Tips and Tricks +--- +# Tips and Tricks + +Welcome to the placeholder landing page for miscellaneous tips and tricks. This will be a more scatterbrained collection of random tips and tricks for UDK, Blender, and the Rocket League Mapmaking pipeline in general. Anything that doesn't fit in the guides or cheatsheets may end up here at some point. Check back regularly for updates! + +## Ideas? + +Anything you would like to see here? [Contact us](../more/contact.md) with your idea, or [contribute](https://github.com/RocketLeagueMapmaking/RL-docs/blob/master/CONTRIBUTING.md) directly! + +## Some stuff to add right away + +* Transparent materials select +* Right click add +* Content browser tricks diff --git a/docs/ue5/index.md b/docs/ue5/index.md deleted file mode 100644 index 28b010bf..00000000 --- a/docs/ue5/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: About ---- - -# Rocket League and Unreal Engine 5 - -:::tip Reference -For a list of sources, qoutes and other related content, see [the UE5 reference page.](../resources/references/ue5.md) -::: - -After rumors following the leaked plans for Rocket League, that it will be transitioned to UE5, Devin acknowledged on Reddit that this is an ongoing project for Psyonix. - -What the effects are for Rocket League map making are not clear until Psyonix shares their plans. For now, you don't need to learn UE5 as it will take some time before they finish this long-term project.