Guide to creating neon signs from 2d textures
Published August 2023 by Last documented update: March 18 2024 by
This guide will take you through the steps of replacing one of Cyberpunk's neon signs with a custom mesh.
If you want, you can then turn your replacers into new AMM: Custom Props for AMM!
To learn how material assignment works, check 3d objects: .mesh files and its sub-page Submeshes, Materials and Chunks
To learn more on how materials in general work, read Textures, Materials and Shaders
For a guide on changing an existing mesh, read Changing materials, colors and textures
You need the following software:
Software | What's it for? |
---|---|
Start with an image. We're aiming for our own neon sign here, and we'll aassign the colours later in Wolvenkit, so make sure that it is something with clean lines and good contrasts. I'll use this:
Make sure that your image is as clean as possible. I can't stress this enough – any rough or fuzzy edges will result in extra geometry, making the cleanup in Blender much harder.
I started by following this guide, but I'll write you a TL;DR
Open Inkscape and create a new document
Select File -> Import and import your .png from step 0
Make sure that your image is selected (click on it if you're not sure, it will have that resizing handle)
From the menu, select Path -> Trace Bitmap (it doesn't have to be a bitmap)
Pick your options in the right-hand panel. I won't cover them in detail here, check the linked guide or noodle around until the result looks OK.
Press the Apply button at the bottom
Your new traced path will be auto-selected for you.
Select File -> Save As and save it as an *.svg file.
Time to switch to Blender to turn it into a mesh!
For this, I've originally followed this guide, but here's a TL;DR for you again:
In Blender, select File -> Import -> Scalable Vector Graphic (SVG)
Import your SVG. It will show up as solid black:
With an active selection, find the curve properties panel in the bottom right (the green icon).
In the "Geometry" section and find "Extrude".
Set it to something like 0.001 — play around with it until your mesh is appropriately extruded.
Do not bevel it! We want the corners nice and sharp, we can always make it round l,ater.
Once you're satisfied, transform the curve into a mesh: Object -> Convert -> Mesh
We're now leaving the previous guide.
Scale, rotate, and move your curve to the centre of the viewport
Fix rotation: Press R
-> X
-> 90
Fix scale: Press S
and move the mouse
Fix position:
Press G
-> Z
to move the mesh up and down
Press G
-> X
to move the mesh left and right
You don't need to move it on the y axis
Apply transformations: Press Ctrl+A
-> T
You will get much better results with the Blender AddOn QuadRemesher; however, after the first 30 days it costs money. You can download a trial version here.
Let's reduce poly count and clean up our mesh. For a detailed guide, see here, I'm going to give you a TL;DR again:
Switch to the "Modifiers" tab in the sidebar panel on the right (the wrench, below the one highlighted in the screenshot above)
From the dropdown, select Generate -> Remesh
Your mesh will be a black box now. Don't panic, we'll fix this by setting the modifier proprerties:
Switch back to Object Mode (press Tab) and apply the modifier. The result should be something like this:
Now, triangulate: switch to edit mode, select everything, and press Ctrl+T. It's necessary for the Cyberpunk reimport.
For better results, I cheated: I split off the ghosts' eyes, the ghosts themselves and Pacman, and used Quad Remesher on each of them. This guide will show you the basics, you can make prettier meshes on your own later once you got it to work.
Switch to the Object Data Properties in the right sidebar, fold out "UV Maps" and click the + button. This is necessary for material projection, and Wolvenkit won't let you import if you didn't do it.
Rename your original mesh to submesh_00_LOD_1
— we need that for the import in Wolvenkit.
You can assign one material per submesh. To split off a part of the mesh,
Change back to Edit Mode
Turn on X-Ray (Alt+Z) and select the shape that you want to split off
Press P
-> S
(Split -> Selection)
Rinse and repeat until you have all the submeshes split off
Time to pull up Wolvenkit.
You can obviously use any kind of mesh or material here!
I'll be replacing base\environment\decoration\advertising\signage\sex_shop_neon_sign\sex_shop_neon_sign_b.mesh
, the heart-shaped ad banner.
Decide on a mesh and add it to your project.
In the project explorer, right-click on the exported file (sex_shop_neon_sign_b.glb
) and select Show in Windows Explorer, because we will now overwrite this file in Blender.
In Blender,
select all the meshes that you want included (in Object Mode)
use the Wolvenkit Blender IO Suiteto export into the file from the previous step.
I'll give the TL;DR version, you should be able to follow along. If not, feel free to read up on how materials work in meshes or find us on Discord!
Open sex_shop_neon_sign_b.mesh
in Wolvenkit and open the appearance on
(as this is the one they're using on Jig Jig Street).
To learn more about this, check Submeshes, Materials and Chunks. This is not necessary for completing this guide.
At the very top of the mesh, we'll need to change the chunkMaterials
as follows:
Now, we define the materials:
Find the array materialEntries
Add four new entries (or duplicate one four times, or…)
Name each item according to the entries in the previous step
Make sure that their index
property is unique and corresponds to their array position.
… and finally, we actually add the materials.
Find and expand the array localMaterialBuffer
and its child materials
Copy the second entry, sex_shop_neon_sign_emissive_red_on
via right-click menu
paste it into materials
Duplicate it three more times
In the new material entries, find the property ColorOneStart
and change it in the side panel.
Repeat for each material, then save the mesh.
Let's hit up Jig Jig Street to look at our sign…
Please remember that you are currently replacing all heart neon signs in the entire game! Before sharing your custom neon, consider making AMM: Custom Props!
Congratulations! If everything works, you just made a mod!
That's A-OK, but exceeds the scope of this guide. Fortunately, you can just head over to AMM: Custom Props and proceed from there.
There is really very little that can go wrong here if you closely follow this guide.
If you can't export your mesh from Blender or import it into Wolvenkit, make a cube (right-click into the viewport, Add
, select Cube
. Before you get hung up on this step and burn out, let's add a few cubes to the game to give you a success. After that, you can hit us up on Discord in the #textures-and-models
so we can fix your mesh.
Check the Troubleshooting your mesh edits pages or find us on discord. :)
Setting | Value | explanation |
---|---|---|
Assuming you have Wolvenkit , you can now . Let's find ourselves an in-game neon sign to replace by searching in the Asset Browser for neon > .mesh
and scrolling through the entries until we find one that we like.
In Wolvenkit, use the to import sex_shop_neon_sign_b.glb
. The preview in the File Information
panel should update.
In Wolvenkit's top bar, select and then boot up Cyberpunk.
Mode
sharp
Remesh type: preserving sharp edges
Octree Depth
8
Level of detail
Scale
0.1
Size of quads in the remeshed object
Sharpness
1
Preserve sharp edges
Inkscape 1.3
Converting your picture into an svg which you can then import into Blender to create a mesh
Wolvenkit (recent)
converting your mesh to an in-game-item
Blender 3.6
Converting your SVG to a 3d object that you can import into Cyberpunk.
Exporting from Blender to Cyberpunk