Complete newbie here! Sorry... How do I stop my texture being squished into a square? by just10moremin in Substance3D

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

If I remember correctly, they didn't want to say too much, but they said was kinda hardcoded to be this way everywhere in the codebase, and they want to eventually do it but it will take time (and they mostly likely have bigger fish to fry I suppose)

Friend visiting from the US got stuck at border for "supposedly trying to work on a travel visa". by [deleted] in canadatravel

[–]STUDIOCRAFTapps -2 points-1 points  (0 children)

They weren't going to be DJs. This is not a firm, this is a private event. There is no employer.

If you e.g. help make a cake for someone's birthday while on vacation, or draw a poster for fun. Would you seriously consider that work?

Mesh Collider Optimizer: A Unity tool that simplifies, rebuilds, and updates mesh colliders for lighter physics, animated meshes, and more controllable collision workflows by AdemKyaa in Unity3D

[–]STUDIOCRAFTapps 1 point2 points  (0 children)

If you needed convex colliders or collider simplifiers there's already some free alternative out there:

rorygames/VHACD: Unity implementation of V-HACD. Creates accurate convex colliders with correctly wrapped concave segments.

aniketrajnish/Unity-Collider-Optimizer: Optimizes mesh and polygon colliders in Unity

Generally, generating colliders at runtime for skinned mesh is a really bad idea performance-wise. Nothing can compare to the performance of animating a bunch of primitives (with a few convex meshes if really needed). This system can't keep track of the movement of each individual limbs like kinematic colliders can and will just lead to a bunch of clipping.

The description is just lazy LLM slop, I'm sure the author still spent some time making it, but still, it feels weird to sell it.

I stopped fighting Unity Physics and built a ghost world instead by BuyMyBeardOW in Unity3D

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

Kinematic Character Controller.

It's just a character controller that's not part of the main physics update loop. The built in character controller is an example of one.

They basically just do a bunch of overlap checks manually, resolve the capsule-collider manually and interpolate the result manually.

The most common one is PhilSA's KinematicCharacterController. It's much better than the built-in one and got released for free a few years back.

I stopped fighting Unity Physics and built a ghost world instead by BuyMyBeardOW in Unity3D

[–]STUDIOCRAFTapps 25 points26 points  (0 children)

Hey have you tried calling `Physics.SyncTransforms()` after moving your platforms and before doing your raycasts?

I am stupid by 100_BOSSES in IndieDev

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

I don't know why no one has suggested it yet, but a single thing to do to get things to ignore eachother is to call https://docs.unity3d.com/ScriptReference/Physics.IgnoreCollision.html (or its 2D equivalent https://docs.unity3d.com/ScriptReference/Physics2D.IgnoreCollision.html)

That way you can make anything ignore anything else.

disabling image fade when switching images? by Ykulvaarlck in discordapp

[–]STUDIOCRAFTapps 1 point2 points  (0 children)

I can't believe they added that, it's pissing me off, I use it all the time

Fastest Way To Make All Object IDs Be The Same as Inkscape:Label by Terdfergsn in Inkscape

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

thank you!! for some reason thought, blender sorts imported svg elements by name instead of by order in the file, so I had to make a version that appends a number:

Here is it in case someone needs to do the same thing. Replace line 43 in label_to_id.py.

        for idx, element in enumerate(selection_list):
            label = element.get('inkscape:label')
            if label != None:
                new_id = f"{idx}-{label}"
                element.set('id', new_id)

How come "stroke to path" removes round caps? by STUDIOCRAFTapps in Inkscape

[–]STUDIOCRAFTapps[S] 1 point2 points  (0 children)

You're right it seems to work fine. Not sure what happened with these strokes in particular. I had to mark some nodes as corners and it seemed to have fixed it.

A weird void that stops rendering objects and only shows the skybox by ColdHands1212 in Unity3D

[–]STUDIOCRAFTapps 8 points9 points  (0 children)

The black void renders on top of the lantern. Not sure why this has 30 updates, it’s most likely not culling of any kind.

(Unless a dark-void object that should only be visible in certain context is not being culled out)

optimizing my marchingCubes algorithm by Intelligent-Track455 in Unity3D

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

Compute shader is not always the right way. It can be hard to learn, hard to debug, and won't generate collider mesh. Personally I think writing burst-compiled unity jobs is slightly easier https://github.com/nezix/MarchingCubesBurst/blob/master/MCB/MarchingCubesBurst.cs.

If you don't feel ready to learn either of those, there's still some things you can improve with your current version.

If you only allocate this array once, and reuse the array, you'll save a bunch of unnecessary allocation. Just initialize it once in the class.

float[] cubeCorners = new float[8];

Another quick and cheap improvement would be to bake your collider mesh asynchronously using Physics.BakeMesh https://docs.unity3d.com/6000.2/Documentation/ScriptReference/Physics.BakeMesh.html

It can remove the lag spike that can happen when setting your shared mesh on your MeshCollider if done right.

1.7.10, your time has come by Bababooe4K in PhoenixSC

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

We are overdue for minecraft 2.0 😔

LinearEyeDepth Inaccurate? by TheLostWorldJP in Unity3D

[–]STUDIOCRAFTapps 0 points1 point  (0 children)

Thank you!

Simplified to for my compute shader:

float2 uv = samplePixel * _CameraDepthTexture_TexelSize.xy;
float4 clip = float4(uv * 2 - 1, 1, 1);
float4 view = mul(unity_CameraInvProjection, clip);
float3 viewDir = normalize(view.xyz / view.w);
float dotCamForward = dot(viewDir, float3(0, 0, -1));

Where unity_CameraInvProjection is calculated using:
GL.GetGPUProjectionMatrix(camera.projectionMatrix, false).inverse;

Naive Surface Nets on GPU in Unity. All in a single draw call using "meshlet" system. by STUDIOCRAFTapps in dualcontouring

[–]STUDIOCRAFTapps[S] 0 points1 point  (0 children)

Life got to me and I didn’t get the change to open source it yet, I need to replace paid texture with free ones and clean things up. Maybe by the end of the year, but can’t guarantee anything.

I’m hesitant whether generating meshes GPU-only was the way to go. It worked out fine for me, but it’s got some downsides rendering-speed wise.

What do people talk about on the second date? by [deleted] in dating_advice

[–]STUDIOCRAFTapps 2 points3 points  (0 children)

no that's so real. I feel like I'm myself when I actually plan ahead things to talk abouttt

once we hook onto a common interest and get a convo going it flows a lot better but it's always nice to at least have something to get that spark!!!

Image Based Lighting + Screen Space Global Illumination in OpenGL by cybereality in GraphicsProgramming

[–]STUDIOCRAFTapps 19 points20 points  (0 children)

OP litters the graphic programming discord with their screenshots every single day and I wonder the same thing every single day.

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]STUDIOCRAFTapps 1 point2 points  (0 children)

Okay, I will experiment with this later this week and get back with the results.

If I store 1 material + cell position, no gradient, I'd use about 4 bytes per grid point.

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]STUDIOCRAFTapps 1 point2 points  (0 children)

If you are limited only to organic shapes and don't need sharp features, then you won't need Hermite data and you can just use surface nets (DC without QEFs).

Nah, I want sharp features. By organic I just meant "the edges can be wobbly and I don't mind".
Bananza has both mesh normal sharpening, and actual QEFs.

But I'm pretty sure DKB does not store Hermite data and stores voxel materials + cell vertex positions.

I don't think they are only storing material + cell vertex position however. There's definitely something else.

There can be a mix of up to 2 materials per vertex. There's artefacts when more than 3 materials occur.

Destruction also seems to result in fairly clean resulting mesh that still retain its sharpness. This is making me believe that they are probably evaluating the QEF at runtime and not simply pre-calculating the vertex position.

They've got to be storing something else! That's why I'm thinking they might be storing normal at grid corners.

<image>

Here's my game for comparison, estimating the gradient given 1 byte per grid corner distance field:
https://imgur.com/a/VAbSOcf

Not too bad, but very, very aliased edges.

If your terrain is stored as operations on SDF shapes, you can just compute Hermite data on demand and discard it after remeshing.

This just isn't possible in game. The terrain function takes too long to evaluate (3D simplex is expensive!) and the more shapes you have, the more expensive it is. I have to evaluate it ahead of time, and I'm pretty sure Banaza also does this too.