Download Project/Assets/ML-Agents/Examples/Pyramids/Scripts/PyramidArea.cs from ashish2244/ppo-SnowballTarget: direct link, hf CLI and curl.
- Browser
- Download file 1.55 kB
-
https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/Project/Assets/ML-Agents/Examples/Pyramids/Scripts/PyramidArea.cs
- Command line
-
hf download hf://ashish2244/ppo-SnowballTarget/Project/Assets/ML-Agents/Examples/Pyramids/Scripts/PyramidArea.cs
-
curl -L -o PyramidArea.cs https://huggingface.co/ashish2244/ppo-SnowballTarget/resolve/main/Project/Assets/ML-Agents/Examples/Pyramids/Scripts/PyramidArea.cs
1.55 kB
| using UnityEngine; | |
| using Unity.MLAgentsExamples; | |
| public class PyramidArea : Area | |
| { | |
| public GameObject pyramid; | |
| public GameObject stonePyramid; | |
| public GameObject[] spawnAreas; | |
| public int numPyra; | |
| public float range; | |
| public void CreatePyramid(int numObjects, int spawnAreaIndex) | |
| { | |
| CreateObject(numObjects, pyramid, spawnAreaIndex); | |
| } | |
| public void CreateStonePyramid(int numObjects, int spawnAreaIndex) | |
| { | |
| CreateObject(numObjects, stonePyramid, spawnAreaIndex); | |
| } | |
| void CreateObject(int numObjects, GameObject desiredObject, int spawnAreaIndex) | |
| { | |
| for (var i = 0; i < numObjects; i++) | |
| { | |
| var newObject = Instantiate(desiredObject, Vector3.zero, | |
| Quaternion.Euler(0f, 0f, 0f), transform); | |
| PlaceObject(newObject, spawnAreaIndex); | |
| } | |
| } | |
| public void PlaceObject(GameObject objectToPlace, int spawnAreaIndex) | |
| { | |
| var spawnTransform = spawnAreas[spawnAreaIndex].transform; | |
| var xRange = spawnTransform.localScale.x / 2.1f; | |
| var zRange = spawnTransform.localScale.z / 2.1f; | |
| objectToPlace.transform.position = new Vector3(Random.Range(-xRange, xRange), 2f, Random.Range(-zRange, zRange)) | |
| + spawnTransform.position; | |
| } | |
| public void CleanPyramidArea() | |
| { | |
| foreach (Transform child in transform) | |
| if (child.CompareTag("pyramid")) | |
| { | |
| Destroy(child.gameObject); | |
| } | |
| } | |
| public override void ResetArea() | |
| { | |
| } | |
| } | |