#trenchbroom is basically similar to

1 messages · Page 1 of 1 (latest)

empty flare
#

Hammer in my experience does a final step that deletes the internal geometry

#

So that the level becomes a manifold mesh and can be lightmapped

#

Quake and hl1 heavily utilized lightmapping

calm geyser
#

hm by internal geometry do you mean like, faces BETWEEN the blocks

empty flare
#

Yes

calm geyser
#

I thought by that you meant the edges we can see, which I dont see why those would be a big problem

#

hm, I feel like I did have some issues back when I was using hammer, but I don't think they were as bad and I think they were the result of UV overlap

#

theres a lot of things that could have been going wrong

#

if it's a problem of just internal invisible faces I would think there might be some blender plugin that can fix that

empty flare
#

Lightmapping casts rays from all surfaces trying to find light sources, then saves the result to a lightmap pixel at that point

calm geyser
#

does it try to draw a ray to every light source in the scene? or is there some culling

#

and how does it handle bouncing light

empty flare
#

So, all surface area inside walls must be allocated lightmap space, and whenever they are adjacent to visible surfaces the lighting from within leaks out

calm geyser
#

I figured it would draw from the light to each pixel, the other way around

calm geyser
#

they'd presumably be solid black

#

unless it can see a light through the backside of a face maybe

#

if it's not two sided

empty flare
#

Or smudgy
Since your lightmap resolution is low it's a bit hard to tell where the light is coming from in the 2D lightmap space

#

And the relative resolution has to be low because it's consumed by the internal faces

calm geyser
#

ahh ok

empty flare
#

Geometry seams alone are bad, even without internal faces
That's what the linked thread's chapter 10.2.2 was showing

calm geyser
#

that might be why I was on the highest lightmap setting and still had a pretty big texel(?) size

empty flare
#

Yes

calm geyser
#

what is meant by geometry seam here

#

edge?

#

or something else

empty flare
#

Edges and UV seams

#

If you're using Unity's lightmap UV generation, the seams are placed by curvature

#

Or if you have two unconnected pieces of geometry like "brushes" there has to be a seam

calm geyser
#

from what it sounded like though, geometry seams are somewhat unavoidable

empty flare
#

Modular geometry doesn't work well with lightmapping for this reason

#

But as long as your geometry is connected, there's no issue

calm geyser
#

OH jeez yeah I imported the obj into blender

#

it's not even connected to the other verticies

#

when I was using hammer I exported as .bsp, then imported into blender with a third party plugin for .bsp

#

and that kinda connected everything, but there were also a lot of extraneous edges

#

it was a much more annoying import process than just using trenchbroom obj, but it looks like the obj export here is terribly optimized

#

I figure that the QODOT plugin (trenchroom to godot) must export it in a different way

#

but maybe there's a way to fix this with an algorithm in blender. I feel like blender DOES have some kind of "delete internal faces" command but maybe it needs to all be connected first

#

alternatively, a blender plugin that imports .map files

#

kind of brings back the annoying import problem I had before, but trenchbroom is a lot more user friendly than hammer so it's still a big improvement over blender

empty flare
calm geyser
#

sadly I dont think im in the blender discord any more because it wanted my phone number or something

#

what kind of cases will it not work with?

#

is this the kind of thing you are talking about

#

idk what manifold means

#

well, it didn't work anyways, some python error

#

hm ok I think my plugin that worked was importing a bsp file

#

which I think trenchbroom SHOULD be able to export

#

ill ask the quake mapping discord

empty flare
calm geyser
#

what does non manifold mean

#

I guess I could jsut google it

empty flare
calm geyser
#

it sounds like its non eudclidean??? idk how thats possible from some boxes

#

ah nvm

#

internal faces and stuff, it's less of non Euclidean and more of like, poorly represented I guess. like an internal face could exist in our world as just a cut through the object but not in the way blender means "face"

empty flare
#

That's not at all what non-euclidean means

calm geyser
#

I mean euclidean to my understanding means flat space and 3 dimensions

#

like not hyperbolic or spherical geometry

#

whatever thats not relevant ultimately

empty flare
#

Sure

#

Don't get hung up on the "couldn't exist in our world", I don't think that's a very good summary since it's only true under specific definitions

#

But the examples in that thread are valid

#

Basically "only solid parts, no holes and no clipping" would be more accurate to say

calm geyser
#

yeah, a mesh that implies everything has volume, the normals all point outwards, etc.

#

like I get why an internal face would be "non eudlidean" even though I could interpret an internal face as like two opposing faces that are touching

#

but that's not what the 3D model is actually semantically describing

#

anyways it sounds like .map is the non compiled version of the quake map, similar to .vmf or whatever

#

so I'd need to compile the map to get it into bsp, and then import into blender with bsp import, and then export as fbx...

#

I still think it's probably worth it just to be able to use trenchbroom instead of blender but I might want to find a way to script this somehow?

empty flare
#

That I do not know about

#

I might use the level editor for greyboxing and do a do-over in blender
Or just get confident enough in blender to make levels there directly

calm geyser
#

the reason I'm not doing blender is because it just isn't nearly as fast as trenchbroom and would take a ton of work to get it to a similar level

empty flare
#

Then again what you have to do now also seems like a ton of work

calm geyser
#

I don't really know how to explain it but even with multiple levels of export, I think TB is faster

#

for example I can select a face, then click another face with alt, and it aligns the UV of the second face to the first one instantly

#

working with the UV stuff in blender alone adds so much time

#

and that's only one example of something trenchbroom is specialized for

#

having each number key be a different preset grid size that divides into itself 2x2 for example, or having UV not be locked to the faces when you move them, or having a clipping plane/knife on one keypress that aligns to the grid and doesn't mess with UV

#

I can create a box with proper aligned textures by clickign and dragging, rather than addign a cube, and then resizing the cube, and then moving the cube, and then applying a texture to the cube...

#

I will try to stay with unity if I can find a good import method because all my stuff is already within it

#

but I see people using Godot and TB a lot

#

like this guy who apparently used to work at 3D realms

#

basically blender is great for 3D modelling individual objects, rendering, animation etc. but trenchbroom is literally built for the express purpose of creating video game maps in the exact style I intend to use so I just don't think blender will ever be the better tool for it

empty flare
#

Unarguably the workflow is pretty cool for the specific purpose

#

Some have tried to bring the workflow to blender but it be the best of all worlds if someone had developed it further

calm geyser
#

yeah, TB has some features which seem very small but save so much time and make it so much more fluid. like to extrude a face you don't have to click on a handle, you can just hold shift and it will highlight the face that's just in the general direction of your cursor

#

and if I'm going to be doing that a thousand times I really like it being a bit faster

#

I might just have to use proper industry workflows like doing a lot of work IN one editor first, grayboxing, then exporting all at once

#

instead of building half a room and exporting and baking the lighting because I want to see how it looks

#

or I might try Godot tbh for this

#

I have to stay on an earlier version of unity anyways to avoid the new royalties thing

empty flare
#

Unity has ProBuilder meant for greyboxing in-engine, which I never tried

calm geyser
#

yeah, I originally tried that but I didn't like it

empty flare
#

Additionally you may be able to avoid using lightmaps at all, since HDRP and newer versions of URP have Adaptive Probe Volumes

calm geyser
#

what is that

#

(though I still would prefer to remove internal faces)

empty flare
#

Traditionally when baking lighting you'd bake lightmaps for static objects and light probe groups for dynamic objects (and complex static objects)

#

APVs are a system to use more accurate probes for everything, instead of lightmaps

calm geyser
#

is that some big performance cost jump, like "next gen" or whatever

#

like I am not gonna have this game be raytraced

#

the style is mostly retro so I would prefer not to have super high requirements

empty flare
#

I guess they're a bit more expensive than lightmaps, but probably not that much
It's still a type of baked lighting

#

Bigger problem is that you're probably? not using HDRP and URP is only catching up with APVs

calm geyser
#

I am not using URP for any specific reason, I switched to it so I could get decals

#

I know almost nothing about rendering as is probably obvious

#

my target platform is basically just PC, but not super high end PCs

#

probably more expensive than something like Dusk since a good amount of realtime lighting is gonna be important for the game, but not highly realistic lighting. I don't know how expensive realtime lighting is so I might have to adjust stuff later

#

but as long as I can get fairly decent baked lighting and basic shadows on a decent amount of realtime lights I should be ok

#

I am a bit worried about the shadows though. light and darkness is intended to be pretty important, I want you to be able to light enemies on fire for a light source for example. it would be NICE to have shadows from dynamic objects in those cases, but ultimately I just don't want light going through level geometry when there's multiple light sources in the scene

calm geyser
#

I can't find anything to import bsp style maps into unity properly

#

I've been trying for hours

#

but blender is so awful I would rather just give up on the game entirely ugh

#

might have to go back into the blender discord to see if there's any way to clean up the mesh but I don't want to give them phone number

calm geyser
#

ok so it turns out I needed a .wad file and because I didn't have one, this caused a whole chain reaction where the import tools I needed weren't working

#

it SEEMS to be working now, but I still gotta double check the lightmaps

#

probes haven't been baked but this looks otherwise perfect...

empty flare
empty flare
#

The procedural modeling capabilities are much beyond what Hammer can do
The key is not to try to use one tool like it's a different tool
I might hate the UX of Gimp a whole lot but I still use it for tasks it excels at

#

Since my brain is wired for blender I'd be quite lost switching to trenchbroom and trying to make things like I'm used to

calm geyser
#

well, it turns out the import tool I was using can't handle certain faces

#

and so I bought another one for $10 that the person assures me can

#

but it turns out it doesn't work on my version of unity, and I don't want to update unity because I don't want to deal with the new pricing model where it's based on downloads or whatever

empty flare
#

The revenue cap for having to buy the Pro license is increased from $100K to $200K, and after $1 million a fee for each new user, or 2.5% rev share, whichever lower
So it can be cheaper for small businesses

#

Also, Unity 6 is affected by this change, but 2022.3.x LTS is not
It sounds unusual for a paid asset to require a brand new beta branch of the editor, so maybe you don't need quite the newest one

calm geyser
#

I finally got it set up using that plugin, I did update to 2022.3 but now I have some issues importing the old assets

calm geyser
#

I think I have gotten it mostly fixed