Jump to content
The Dark Mod Forums

Wishlist For Darkradiant


Recommended Posts

I definitely wouldn't vote for a custom implementation of the notebook control, but there are a couple of other options:

  • Only use icons for the tabs, at all times. This would require very clear and obvious icons (which work in both light and dark themes), and still might be less useable for new users who don't know what each icon means.
  • A hack whereby we dynamically set the style to show or hide text, based on the current overall size of the dialog. This wouldn't be ideal because we'd have to basically guess the size threshold for hiding the text, and this might not be the same on all platforms with various different fonts.
  • Like 1
Link to comment
Share on other sites

Thank you for all the effort you all put into DR!

We were discussing on the discord how much time we spend in the different content browsers and how to potentially speed up locating and placing of assets. We were wondering if it would be possible to expand the media browser to be a one stop shop so to speak by expanding it to include models/entities/prefabs etc. Perhaps with togglable content filters that allow you further narrow it back down.

Additionally the existing "textures" tab is really useful for locating commonly used textures in a project and it seems like this could also be useful for commonly used models or the other assets types as well.

This would probably require something like drag and drop placement of assets from the browsers since you wouldn't be accessing the browser from the "create model" prompt for example, but something like drag and drop could also significantly speed up the process of adding things into the scene.

 

Thanks again for the time and consideration!

  • Like 1
Link to comment
Share on other sites

3 hours ago, Wellingtoncrab said:

Additionally the existing "textures" tab is really useful for locating commonly used textures in a project and it seems like this could also be useful for commonly used models or the other assets types as well.

This would probably require something like drag and drop placement of assets from the browsers since you wouldn't be accessing the browser from the "create model" prompt for example, but something like drag and drop could also significantly speed up the process of adding things into the scene.

This actually came up in a earlier discussion about Greebo's new favourites browser. Since the favourites browser can contain things other than textures (although I don't know if this is active in the released builds) there is an open question about how things like models could actually be inserted from the favourites list rather than the right-click menu.

I actually like the idea of drag-and-drop asset insertion, although it would probably require some fiddly coding under the hood since DR's selection system is somewhat complicated. Even better would be if models could be shown on a 2D grid with preview thumbnails, rather than a tree with only a single preview at a time, but I have no idea if wxWidgets even offers support for a widget like this (or if it would have to be implemented from scratch as an OpenGL scene).

1 hour ago, datiswous said:

Is it maybe possible to disable the labels as a setting in DR or from a config file?

That ought to be possible, certainly. Provided the wxWidgets style options that Greebo mentioned work correctly, there is no reason why this couldn't be initialised from the config file rather than hard-coded or default values.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

I was wondering how feasible it would be to tweak the way brush texture alignments are handled for diagonal brushes.

In the screen below I'm trying to make a diagonal brush by shifting the top 4 vertices horizontally. The top half shows the current behaviour, where the texture basically stays vertical. The bottom half shows what would be preferrable.

Currently, as far as I'm aware, the desired look in the bottom half can be achieved by:

  • Using brush-shaped patches, which is probably the most time-efficient method that's also precise.
  • Rotating the brush. If the vertices must be snapped to grid without changing the dimensions of the brush, one can copy the brush, rotate it and use the MMB to paste the texture over to the original brush.
  • Open the surface inspector, select 1 face at a time and rotate the texture until it looks right (i.e. by setting the rotation increment to 1 and then holding down one of the arrow keys), then adjust the vertical alignment.

Untitled.png.f8ba8a4b0cb63eafa6a682ce865d827e.png

Definitely a wishlist kind of thing and can be disregarded if it requires drastic changes to the brush texturing algorithm. But some kind of "texture lock" that lets the texture follow the angle of the brush face would be nice.

  • Like 1
Link to comment
Share on other sites

Definitely not trivial to implement (or even define), because you're not actually rotating anything, you're shearing the brush and changing the face shape. A brush face can be any straight-sided convex polygon, so which edge would the texture need to follow? It may seem obvious from the picture but it's definitely not obvious to a computer.

If you're trying to make an angled wooden beam, you might consider making the beam as an upright brush, converting it to func_static then rotating it like a model (and burying it in surrounding geometry). Being snapped to the grid would no longer be important in this case.

Link to comment
Share on other sites

Isn't it a question of order of operations? In modeling apps you can easily achieve both results, depending on what you need. The only difference is, that in the first example the modelling modifier would be placed before UV modifier, and in the second one it's vice versa.

  • Like 1
Link to comment
Share on other sites

What I would do to achieve the shown example is to create a longer, upright beam, fit/adjust the texture it as long as the brush is still upright, then rotate it with texture lock enabled, and finally cut the extending parts off with the clipper.

I know that's not as convenient, but as OrbWeaver described it's just not possible for the texture to follow along the shear operation. Rotating would be different (otherwise the texture lock wouldn't be working), but in this example it's the shearing that makes it very hard to sense what should be adjusted.

  • Like 1
Link to comment
Share on other sites

I can see that it'd be difficult to rotate the texture during a shear operation, but I actually want the UV coordinates of the texture to change as little as possible in this case. This is roughly the Texture Tool equivalent of the above screenshot: untitled3.png.3cbacbde4afa34a1fbb340640a88ad4a.png

The reason why patches work well in such a scenario is that their patch vertices can be moved without shifting the UV vertices, allowing both to be controlled precisely without conflicts. That matters when making long, intersecting beams, where a few units of error can lead to z-fighting, gaps or clipping through each other.

For technical reasons that exact behaviour won't be possible for brushes - i.e. the UV island can only have right angles if the brush face has right angles. And there'll probably still be a need to adjust the scale afterwards (though less finicky than adjusting the rotation). But maybe it could be approximated with a form of texture lock that minimises changes to the UV islands? Maybe by only allowing UV transformations in one axis at a time: the one with the smaller change?

Link to comment
Share on other sites

The other thing on my "texturing diagonal brushes wishlist" is that I wish it were easier to align textures on slanted faces with each other. The screenshot below shows the result when using the MMB and Ctrl + MMB to paste the texture from the left face to the right face:

Untitled.png.a2475156484faef07930ac7019aa9583.png

The vertical alignment of the pasted texture is just way off, even though both faces have the same slope gradient. It's possible to work around this by cloning the brush and rotating it 90° before pasting so that source & destination faces are on the same plane. But it'd be nice if DR could, say, detect that both faces have the same slope and thus treat them as if they're on the same plane for texturing purposes.

Link to comment
Share on other sites

  • 1 month later...

Possibly a silly question, but how come "create player start here" and "move player start here" are two different menu options? It seems you could reduce menu clutter by combining them into one single function that moves the player start or creates one if there wasn't already one in the map.

  • Like 1

{ 0 | 🞵 } = funk_tastic

My missions:          the Factory Heist

Link to comment
Share on other sites

  • 5 weeks later...
12 hours ago, thebigh said:

Detecting if two triangles in 3D overlap seems not to be tremendously difficult, just a bit fiddly, so would it not be possible to have a script in DR to detect Z-fighting for you?

It's a good idea, but I could imagine it causing lots of false positives in areas the player can't see and the mapper therefore was less careful, i.e. where brushwork seals against the void.

Link to comment
Share on other sites

55 minutes ago, Dragofer said:

It's a good idea, but I could imagine it causing lots of false positives in areas the player can't see and the mapper therefore was less careful, i.e. where brushwork seals against the void.

It could be set to skip instances where one of the overlapping textures is caulk, clip, or nodraw. Or where the overlapping section also overlaps with a brush face oriented the other way, face-to-face, because this means it would be inside a solid and invisible to the player. Or if the overlapping section is exposed to the Void, though I don't know if that's easily tested in DR.

Actually I think the biggest issue would be with some of the models and prefabs. For instance, the back side of the wine rack model has a sparkly triangle in a corner and there's not much the mapper can do about it.

{ 0 | 🞵 } = funk_tastic

My missions:          the Factory Heist

Link to comment
Share on other sites

If someone wants to write such a script they're welcome to do so, and submit it for inclusion as a user-contributed script.

Note that brush and patch primitives are not represented as triangles, so any algorithm related to triangles alone will not work.

Link to comment
Share on other sites

  • 2 weeks later...

Given the great work on the texture tool in 2.14 lately, I wanted to ask about something with texturing patches that I run into from time to time:

p1.jpg.453dfbfffecdec6bc38cb7bf4e1fef0c.jpg

 

Sometimes you want the texture to flow around the corner of a patch (the default, and the left half above), but sometimes you'd rather have it flow with the surrounding geometry (right half).  This is possible to take care of manually, although in this case it's cumbersome to separate the UV vertices that are on top of each other:

Spoiler

The default UV layout:

p3.jpg.d2cb4d6dd47bdcfad2ed40fbc7c5a820.jpg

 

Spoiler

Adjusted layout:

p2.jpg.1e1c9d4ceeeaa8226f5716b6cd8673c2.jpg

 

Is there a way to easily match the UVs up with the patch geometry in this fashion?  Basically a cross between UV projection from a 3D modeler and the "Natural" button.  Such a button would be a nice addition 🙂

 

EDIT: Since trying this in DR 2.14, it seems like a regular (non-natural) paste does this.  I swear I had tried everything in the past to make this work, have there been any fixes in the past couple versions or am I just dumb? 😁

 

 

Edited by jonri
I might be dumb
Link to comment
Share on other sites

I was about to suggest the Paste Texture (projected) tool, but you found out already. :)

In any case, you need to pick the shader (MMB) from a face before this will work, so maybe this was the reason for it to fail before. When pasting from a face, it will use its projection and apply it to the vertices of the patch - so it makes sense to move the face near and parallel to that patch before copy/pasting to get predictable results.

Link to comment
Share on other sites

  • 3 weeks later...

A couple of things, and apologies if these options exist and I haven't managed to find them:

  1. It looks like the VCS integration doesn't support SSH?  If not, would that be possible to add?
  2. I used to prefer the Maya/Max/Lightwave emulation colour theme, but found I kept 'losing' the white mouse pointer against the white background.  I have 3 monitors and a really fast mouse pointer speed so dumb as it sounds it happens quite easily.  Anyways, an option to change the mouse pointer colour would be good.  I've switched to Super Mal which has sorted me out and may just keep that, but thought I'd mention it anyways.
  3. An option to be able to set the degrees on the rotation commands.  I know you can use arbitrary transformation, but on a map with a lot of say, 45 degree surfaces it's a pain. For example, if I press 'Z-axis rotate' it will rotate 45 degrees instead of 90.  Maybe a global setting?
  4. When you have applied a search filter to the 'choose model' dialogue, it doesn't get automatically cleared.  This is a bit annoying when you go to use it subsequently, especially if you have a model selected and click 'choose model' from the Entity tab because you want to change the model to a similar one that is adjacent to the current one in the list.  The model dialogue opens up and because the filter is active, you need to clear it first, then either search again for the current model or close/re-open the model chooser.  TLDR: if the search filter got automatically cleared when you closed the dialogue that would be nice.
Edited by Frost_Salamander
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...