private void AddOutlineRendererToCamera(Camera targetCamera) { GrassRenderer grassRenderer = targetCamera.gameObject.AddComponent <GrassRenderer>(); grassRenderer.Initialize(command); grassRenderers.Add(grassRenderer); }
void Update() { if (!rendered && Math.Abs(transform.position.x - Player.transform.position.x) <= settings.RenderDistance && Math.Abs(transform.position.y - Player.transform.position.y) <= settings.RenderDistance) { GrassRenderer grenderer = this.GetComponent(typeof(GrassRenderer)) as GrassRenderer; grenderer.Render(); for (int i = 0; i < this.transform.childCount; i++) { if (this.transform.GetChild(i).GetComponent(typeof(PathRenderer)) != null) { PathRenderer prenderer = this.transform.GetChild(i).GetComponent(typeof(PathRenderer)) as PathRenderer; prenderer.Render(); } } rendered = true; } else if (rendered && Math.Abs(transform.position.x - Player.transform.position.x) > settings.RenderDistance && Math.Abs(transform.position.y - Player.transform.position.y) > settings.RenderDistance) { GrassRenderer grenderer = this.GetComponent(typeof(GrassRenderer)) as GrassRenderer; grenderer.UnRender(); for (int i = 0; i < this.transform.childCount; i++) { if (this.transform.GetChild(i).GetComponent(typeof(PathRenderer)) != null) { PathRenderer prenderer = this.transform.GetChild(i).GetComponent(typeof(PathRenderer)) as PathRenderer; prenderer.Render(); } } rendered = false; } }
private void Awake() { #if UNITY_EDITOR DestroyImmediate(gameObject); #else Destroy(gameObject); #endif Instance = this; bool isDisableGrass = LuaGConfigManager.GetGConfig <bool>("G_IS_DISABLE_GPUGRASS"); if (isDisableGrass) { this.gameObject.SetActive(false); return; } //#if BUILD_SINGLESCNE_MODE // PlayerCamera = GameObject.Find("客户端测试节点_请勿删除/saoUIJoyPadCom/Camera").GetComponent<Camera>().transform; // return; //#endif PlayerCamera = Camera.main.transform; }
public override void OnInspectorGUI() { GrassRenderer constructor = (GrassRenderer)target; DrawDefaultInspector(); if (GUILayout.Button("Create Grass Pool")) { constructor.CreateGrassPool(); EditorUtility.SetDirty(constructor); } if (GUILayout.Button("Clear Grass Pool")) { constructor.ClearGrassPool(); EditorUtility.SetDirty(constructor); } if (GUILayout.Button("Update Grass")) { constructor.UpdateGrassAroundEditorCamera(); } }
/// <summary> /// Pushes frame update message to any details that change their visibility /// on a per-frame basis. /// </summary> public void Update() { GrassRenderer.Update(); }
private void OnEnable() { grassRenderer = (GrassRenderer)target; }