You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			98 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			98 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
| 
								 
											1 year ago
										 
									 | 
							
								using UnityEngine;
							 | 
						||
| 
								 | 
							
								using System.Collections;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace TMPro.Examples
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public class Benchmark02 : MonoBehaviour
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public int SpawnType = 0;
							 | 
						||
| 
								 | 
							
								        public int NumberOfNPC = 12;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public bool IsTextObjectScaleStatic;
							 | 
						||
| 
								 | 
							
								        private TextMeshProFloatingText floatingText_Script;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        void Start()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            for (int i = 0; i < NumberOfNPC; i++)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                if (SpawnType == 0)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    // TextMesh Pro Implementation
							 | 
						||
| 
								 | 
							
								                    GameObject go = new GameObject();
							 | 
						||
| 
								 | 
							
								                    go.transform.position = new Vector3(Random.Range(-95f, 95f), 0.25f, Random.Range(-95f, 95f));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    TextMeshPro textMeshPro = go.AddComponent<TextMeshPro>();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMeshPro.autoSizeTextContainer = true;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.rectTransform.pivot = new Vector2(0.5f, 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMeshPro.alignment = TextAlignmentOptions.Bottom;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.fontSize = 96;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.enableKerning = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMeshPro.color = new Color32(255, 255, 0, 255);
							 | 
						||
| 
								 | 
							
								                    textMeshPro.text = "!";
							 | 
						||
| 
								 | 
							
								                    textMeshPro.isTextObjectScaleStatic = IsTextObjectScaleStatic;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    // Spawn Floating Text
							 | 
						||
| 
								 | 
							
								                    floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
							 | 
						||
| 
								 | 
							
								                    floatingText_Script.SpawnType = 0;
							 | 
						||
| 
								 | 
							
								                    floatingText_Script.IsTextObjectScaleStatic = IsTextObjectScaleStatic;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                else if (SpawnType == 1)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    // TextMesh Implementation
							 | 
						||
| 
								 | 
							
								                    GameObject go = new GameObject();
							 | 
						||
| 
								 | 
							
								                    go.transform.position = new Vector3(Random.Range(-95f, 95f), 0.25f, Random.Range(-95f, 95f));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    TextMesh textMesh = go.AddComponent<TextMesh>();
							 | 
						||
| 
								 | 
							
								                    textMesh.font = Resources.Load<Font>("Fonts/ARIAL");
							 | 
						||
| 
								 | 
							
								                    textMesh.GetComponent<Renderer>().sharedMaterial = textMesh.font.material;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMesh.anchor = TextAnchor.LowerCenter;
							 | 
						||
| 
								 | 
							
								                    textMesh.fontSize = 96;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMesh.color = new Color32(255, 255, 0, 255);
							 | 
						||
| 
								 | 
							
								                    textMesh.text = "!";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    // Spawn Floating Text
							 | 
						||
| 
								 | 
							
								                    floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
							 | 
						||
| 
								 | 
							
								                    floatingText_Script.SpawnType = 1;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                else if (SpawnType == 2)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    // Canvas WorldSpace Camera
							 | 
						||
| 
								 | 
							
								                    GameObject go = new GameObject();
							 | 
						||
| 
								 | 
							
								                    Canvas canvas = go.AddComponent<Canvas>();
							 | 
						||
| 
								 | 
							
								                    canvas.worldCamera = Camera.main;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    go.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
							 | 
						||
| 
								 | 
							
								                    go.transform.position = new Vector3(Random.Range(-95f, 95f), 5f, Random.Range(-95f, 95f));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    TextMeshProUGUI textObject = new GameObject().AddComponent<TextMeshProUGUI>();
							 | 
						||
| 
								 | 
							
								                    textObject.rectTransform.SetParent(go.transform, false);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textObject.color = new Color32(255, 255, 0, 255);
							 | 
						||
| 
								 | 
							
								                    textObject.alignment = TextAlignmentOptions.Bottom;
							 | 
						||
| 
								 | 
							
								                    textObject.fontSize = 96;
							 | 
						||
| 
								 | 
							
								                    textObject.text = "!";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    // Spawn Floating Text
							 | 
						||
| 
								 | 
							
								                    floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
							 | 
						||
| 
								 | 
							
								                    floatingText_Script.SpawnType = 0;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |