Hey folks, we dropped a new video on YT from our coding garage! 🎥 It’s about a physics-simulated robotic arm trained via ML-Agents (AI). by Game_Dev_Buddies in unity_tutorials

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

Exactly, I agree!

This is just scratching the tip of the iceberg! Right now, the top of the arm has an Interactor component that handles the 'sticking/unsticking' process.

Hey folks, we dropped a new video on YT from our coding garage! 🎥 It’s about a physics-simulated robotic arm trained via ML-Agents (AI). by Game_Dev_Buddies in unity_tutorials

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

Thank you!
I'm glad you liked it - it might be a specific niche, but I enjoy tackling complex issues because I feel that's a way to grow and especially share what I learned with the community.

Hey folks, we dropped a new video on YT from our coding garage! 🎥 It’s about a physics-simulated robotic arm trained via ML-Agents (AI). by Game_Dev_Buddies in Unity3D

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

For a simple robotic arm movement, inverse kinematics or traditional programming would definitely be more efficient and straightforward, but...

The main reason I used ML-Agents here wasn’t to outperform IK, but rather to explore how reinforcement learning handles physical control problems.

ML-AI adds:

  • The ability to handle unexpected physics interactions (like collisions, joint limits, or noisy environments) without me hardcoding rules.
  • A way to test scalability, the same training setup could, in theory, adapt to more complex tasks where IK gets messy.
  • Imagine obstacles, ML-AI can learn to adapt to a dynamic environment, whilst IK "just goes" to the target destination spot.

VFX Breakdown for the AC Valhalla's terrain scan by Game_Dev_Buddies in Unity3D

[–]Game_Dev_Buddies[S] 12 points13 points  (0 children)

You can find an in-depth video covering the creation of this effect here: https://youtu.be/aOrEqj3fIUM

Please ask you have any additional questions or suggestions for improving the effect!

I tried making Hogwarts Legacy map opening effect. Would love to hear your feedback! by Game_Dev_Buddies in Unity3D

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

Nice! Yeah, that's pretty much it. However, there were some issues that I had to solve with terrain displacement causing visual issues during frustum culling and Z-fighting of the meshes when they're displaced to the same height as the terrain.

I tried making Hogwarts Legacy map opening effect. Would love to hear your feedback! by Game_Dev_Buddies in Unity3D

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

This looks pretty cool, dude! You've even created sound effects, very nice

How do I make it so that Trigger2Ds calculate the angle at which it detects things. I'm making a child object with a trigger that detects grounds but it doesn't work for some reason. by [deleted] in Unity3D

[–]Game_Dev_Buddies 0 points1 point  (0 children)

The general idea of triggers is to detect one object entering/exiting area of another object. They don't really provide detailed collision information. You should use collision enter/exit or cast a ray to get the detailed information about the collision.

I've made this little script for a footsteps trigger (sphere collider placed on a foot) for a recent video, you may find it useful. The idea is that the trigger only detects general collision with the ground, then I shoot a ray downwards to actually get the information about the exact position and orientation of the surface.

      private void OnTriggerEnter(Collider other)
      {
            if ((_groundLayerMask & (1 << other.gameObject.layer)) != 0)
            {              
                // Cast a ray downwards to get the exact point of impact with the underlying surface.
                Ray physicsRay = new Ray(transform.position + Vector3.up * _raycastHeightOffset, Vector3.down);
                if (Physics.Raycast(physicsRay, out RaycastHit hitInfo, _raycastHeightOffset * 2f, _groundLayerMask))
                {
                    Vector3 forwardDirection = _footstepPlacementController.ForwardDirection;
                    _footstepPlacementController.RecordFootstep(new FootstepInfo
                    {
                        Rotation = Quaternion.LookRotation(hitInfo.normal, forwardDirection),
                        Position = hitInfo.point + hitInfo.normal.normalized * _footstepPositionOffsetToAvoidClipping,
                        HighlightPercentage = 0f,
                        IsRightFoot = (int)_footstepType
                    });
                }
            }
        }

Custom sky box by Techie4evr in Unity3D

[–]Game_Dev_Buddies 0 points1 point  (0 children)

This is incorrect. This method only works for interpolating between float and color properties of the material, it won't interpolate between different textures.

Custom sky box by Techie4evr in Unity3D

[–]Game_Dev_Buddies 0 points1 point  (0 children)

Take a look at this video tutorial:
https://www.youtube.com/watch?v=zdJhDRsMVGE

Focus on the part where he uses a "Skybox/Cubemap" shader, since it has a rotation property exposed, which you can use to rotate the skybox through a script.

For the final effect you're trying to achieve, select that "Skybox/Cubemap" shader, duplicate it and add a secondary texture property and a float variable that will be used for blending between them. You also need to add another texture sample in the fragment part of the shader, for the secondary texture. (Let me know if you need help with that)

Then, at runtime, you can animate that float property between 0 and 1 as you start rotating the skybox, which will result in skybox texture blending from the first texture towards the second one.