Added Unity project files
This commit is contained in:
@ -0,0 +1,122 @@
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
using VRC.Udon;
|
||||
|
||||
//namespace UdonSharpTests
|
||||
//{
|
||||
[AddComponentMenu("")]
|
||||
public class Test08_Instantiation : UdonSharpBehaviour
|
||||
{
|
||||
public GameObject sourcePrefab;
|
||||
|
||||
public int objectCount;
|
||||
|
||||
public float rotationOffset;
|
||||
|
||||
public float rotationSpeed;
|
||||
|
||||
private GameObject[] spawnedObjects;
|
||||
|
||||
[HideInInspector]
|
||||
public UdonBehaviour otherBehaviour;
|
||||
|
||||
string[] listInitTest = new string[]
|
||||
{
|
||||
"Hello",
|
||||
"test",
|
||||
"string",
|
||||
"aaaa",
|
||||
};
|
||||
|
||||
private void testFunc(short input)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
spawnedObjects = new GameObject[objectCount];
|
||||
|
||||
for (int i = 0; i < objectCount; ++i)
|
||||
{
|
||||
GameObject instantiatedObject = Instantiate(sourcePrefab);
|
||||
UdonBehaviour behaviour = (UdonBehaviour)instantiatedObject.GetComponent(typeof(UdonBehaviour));
|
||||
|
||||
//Debug.Log(behaviour);
|
||||
|
||||
behaviour.SetProgramVariable("displayName", "hello");
|
||||
//Debug.Log(behaviour.GetProgramVariable("displayName"));
|
||||
|
||||
instantiatedObject.SetActive(true);
|
||||
instantiatedObject.transform.parent = transform;
|
||||
//instantiatedObject.transform.position = Random.insideUnitSphere * 2f;
|
||||
//instantiatedObject.transform.rotation = Random.rotation;
|
||||
//instantiatedObject.transform.localScale *= Random.Range(0.2f, 1.5f);
|
||||
|
||||
spawnedObjects[i] = instantiatedObject;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
//testFunc(4);
|
||||
|
||||
//Debug.Log("hello! 15");
|
||||
|
||||
//foreach (var test in "hello")
|
||||
//{
|
||||
// Debug.Log(test);
|
||||
//}
|
||||
|
||||
//ushort testVal = 4f;
|
||||
|
||||
//otherBehaviour.SendCustomEvent("PrintTest");
|
||||
|
||||
|
||||
foreach (GameObject gameObj in spawnedObjects)
|
||||
{
|
||||
|
||||
UdonBehaviour behaviour = (UdonBehaviour)gameObj.GetComponent(typeof(UdonBehaviour));
|
||||
behaviour.SetProgramVariable("displayName", "hello");
|
||||
}
|
||||
|
||||
Debug.Log($"initialized on frame {Time.frameCount}");
|
||||
}
|
||||
|
||||
public override void OnPlayerJoined(VRCPlayerApi player)
|
||||
{
|
||||
Debug.LogFormat("Player {0} joined!", player.displayName);
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
float time = Time.time;
|
||||
float twoPi = Mathf.PI * 2f;
|
||||
|
||||
//Vector3 assignmentTarget = Vector3.zero;
|
||||
//Vector3 assignmentSource = Vector3.zero;
|
||||
|
||||
Debug.Log($"Update manager frame {Time.frameCount}");
|
||||
|
||||
for (int i = 0; i < objectCount; ++i)
|
||||
{
|
||||
//assignmentTarget = assignmentSource;
|
||||
|
||||
GameObject spawnedObject = spawnedObjects[i];
|
||||
//UdonBehaviour behaviour = (UdonBehaviour)spawnedObject.GetComponent(typeof(UdonBehaviour));
|
||||
//behaviour.SetProgramVariable("displayName", "hello there");
|
||||
|
||||
Vector3 testVec = new Vector3(4, 5, 6);
|
||||
|
||||
float progress = ((i / (float)objectCount) + rotationSpeed * time) * twoPi;
|
||||
|
||||
Vector3 newPosition = new Vector3(Mathf.Sin(progress), 0f, Mathf.Cos(progress)) * rotationOffset + new Vector3(0f, Mathf.Cos(progress * 5f) * 0.2f, 0f);
|
||||
|
||||
spawnedObject.transform.localPosition = newPosition;
|
||||
spawnedObject.transform.LookAt(transform.position, Vector3.up);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//}
|
||||
Reference in New Issue
Block a user