ppo-SnowballTarget / Project /Assets /ML-Agents /Examples /SharedAssets /Scripts /OrientationCubeController.cs
Download Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs from ashish2244/ppo-SnowballTarget: direct link, hf CLI and curl.
- Browser
- Download file 847 Bytes
-
https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs
- Command line
-
hf download hf://ashish2244/ppo-SnowballTarget/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs
-
curl -L -o OrientationCubeController.cs https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/OrientationCubeController.cs
847 Bytes
| using UnityEngine; | |
| namespace Unity.MLAgentsExamples | |
| { | |
| /// <summary> | |
| /// Utility class to allow a stable observation platform. | |
| /// </summary> | |
| public class OrientationCubeController : MonoBehaviour | |
| { | |
| //Update position and Rotation | |
| public void UpdateOrientation(Transform rootBP, Transform target) | |
| { | |
| var dirVector = target.position - transform.position; | |
| dirVector.y = 0; //flatten dir on the y. this will only work on level, uneven surfaces | |
| var lookRot = | |
| dirVector == Vector3.zero | |
| ? Quaternion.identity | |
| : Quaternion.LookRotation(dirVector); //get our look rot to the target | |
| //UPDATE ORIENTATION CUBE POS & ROT | |
| transform.SetPositionAndRotation(rootBP.position, lookRot); | |
| } | |
| } | |
| } | |