void UpdateTransformIndex() { if (!m_Dirty) { return; } m_Dirty = false; Profiler.BeginSample("UpdateTransformIndex"); NativeArrayHelpers.ResizeIfNeeded(ref m_TransformMatrix, m_Transform.Length); if (!m_TransformAccessArray.isCreated) { TransformAccessArray.Allocate(m_Transform.Length, -1, out m_TransformAccessArray); } else if (m_TransformAccessArray.capacity != m_Transform.Length) { m_TransformAccessArray.capacity = m_Transform.Length; } m_TransformAccessArray.SetTransforms(m_Transform); for (int i = 0; i < m_Transform.Length; ++i) { if (m_Transform[i] != null) { var instanceId = m_Transform[i].GetInstanceID(); var transformData = m_TransformData[instanceId]; transformData.transformIndex = i; m_TransformData[instanceId] = transformData; } } Profiler.EndSample(); }
private void LateUpdate() { trans = new TransformAccessArray(transforms[num].Count, -1); trans.SetTransforms(transforms[num].ToArray()); fl = new NativeArray <float>(vs[num].Count, Allocator.Temp); fl.CopyFrom(vs[num].ToArray()); billJob = new BillBoardJob() { camPos = transform.position, spriteNum = new NativeArray <int>(spr.Length, Allocator.Temp), spriteLength = sprites.Length, rot = fl }; handle = billJob.Schedule(trans); handle.Complete(); for (int i = 0; i < trans.length; i++) { transforms[num][i].GetComponent <Renderer>().material = sprites[billJob.spriteNum[i]]; } if (num < 9) { num++; } else { num = 0; } fl.Dispose(); trans.Dispose(); billJob.spriteNum.Dispose(); }
void UpdateNodeTransformArray() { if (NodeTransformArray.isCreated) { NodeTransformArray.SetTransforms(Nodes.Select(x => x.transform).ToArray()); } else { NodeTransformArray = new TransformAccessArray(Nodes.Select(x => x.transform).ToArray()); } }
public void SetColliderPackage(ColliderRead[] collidersReadList, ColliderReadWrite[] collidersReadWriteList, Transform[] collidersTransList) { this.collidersReadList = new NativeArray <ColliderRead>(collidersReadList, Allocator.Persistent); this.collidersReadWriteList = new NativeArray <ColliderReadWrite>(collidersReadWriteList, Allocator.Persistent); colliderTransformsList.SetTransforms(collidersTransList); }