Skip to content

UV Wrapper — transfer textures and UVs between faces with a drag - #908

Open
nklbdev wants to merge 1 commit into
JannisX11:masterfrom
nklbdev:uv-wrapper
Open

UV Wrapper — transfer textures and UVs between faces with a drag#908
nklbdev wants to merge 1 commit into
JannisX11:masterfrom
nklbdev:uv-wrapper

Conversation

@nklbdev

@nklbdev nklbdev commented May 19, 2026

Copy link
Copy Markdown
Contributor

UV Wrapper lets you transfer UVs and textures from a source face onto
target faces by simply clicking and dragging across the model.

Features

  • Alt+Click to pick a source face — orange highlight
  • Drag across target faces — UVs and texture are transferred in real time
  • Hold Shift to fill an entire flat plane of coplanar faces at once
  • Hold Ctrl for planar projection (no fold along edges)
  • Real-time green preview of affected faces while dragging
  • Modifier keys are fully remappable in the plugin settings
  • Undo support — each drag is a single undo step

Usage

  1. Enable the UV Wrapper tool (View → Tools, or Ctrl+Shift+U)
  2. Alt+Click a face to set it as the UV source
  3. Click and drag across other faces to transfer UVs
  4. Use Shift/Ctrl modifiers for advanced projection modes

Preview

Texture continuation on other faces:

2026-05-19.19-00-46.mov

Wrapping texture UV plane around faces planes intersection line to finest texturing! Really helpful when you are working with trimsheets and other tileable textures!

2026-05-19.19-02-03.mov

Example from real project:

screenshot_2026-05-19_00:07:22

@nklbdev nklbdev changed the title Add UV Wrapper — transfer textures and UVs between faces with a drag UV Wrapper — transfer textures and UVs between faces with a drag May 19, 2026
@nklbdev
nklbdev force-pushed the uv-wrapper branch 4 times, most recently from ec05d82 to e0c1cbb Compare May 19, 2026 23:56
@nklbdev

nklbdev commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Here is another video from my real project:

2026-06-27.17-43-44.mp4

An important key point about this plugin's greatest value: the UV plane bends not around one of the edges of the faces, but around the line along which the planes of these faces intersect. (The quads' MAIN triangles are used — this is important. The plugin doesn't take quad bending into account. If this is critically necessary, I might rework the plugin, but that's unlikely.)

@nklbdev

nklbdev commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

And one more question for you, @JannisX11: where can I talk to you about the *.bbmodel files import plugin for Godot? I've created a very flexible and versatile plugin for Godot that doesn't require exporting through intermediate formats and supports a ton of options. It even supports skeletons and animation, but it's all still in alpha. I use it daily in game production, along with a few other DIY tools that I could also discuss with you.

@JannisX11

Copy link
Copy Markdown
Owner

And one more question for you, @JannisX11: where can I talk to you about the *.bbmodel files import plugin for Godot? I've created a very flexible and versatile plugin for Godot that doesn't require exporting through intermediate formats and supports a ton of options. It even supports skeletons and animation, but it's all still in alpha. I use it daily in game production, along with a few other DIY tools that I could also discuss with you.

Ideally with a post in the #bb-feedback forum in the Blockbench discord server.

@JannisX11

Copy link
Copy Markdown
Owner

Hi, sorry for the late review. I have a few points of feedback:

  • The tool may be a bit hard to find for some users, I would recommend adding it to the toolbar (Toolbars.tools.add(...))
  • I tried to use it on cubes, and currently it just throws errors there. I think it could be useful on cubes too, but if not it should catch the error and display a message why it doesn't work
  • UV faces don't update in the UV editor in real time. Running updateSelection() will update it.
  • When using the tool and switching to a different project tab, the highlighted face is still visible in the other project
  • The modifier settings currently display raw translation keys as descriptions in the settings dialog.

@nklbdev

nklbdev commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Thank you so much for your feedback! I'll take it into account and rework the plugin. I use it daily; it's probably the most useful thing I've done since the WASD Controls alternative (Fly Mode).

By the way, I'd also like to mention that I'm preparing a new pull request for Blockbench with a modification to how clicks work. I have suggested something similar before, but it was done completely wrong. The gist is this:

For all tools that can create a selection frame, a click is only registered after releasing the mouse if the selection frame hasn't been created.

Sounds simple, right? But it produces simply amazing results! You can confidently select with a box without worrying about clicking right at the start, selecting another object, and interrupting the selection.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants