// 初期化処理など void Start() { // ターゲットのFPSを指定します Application.targetFrameRate = targetFps; Screen.sleepTimeout = SleepTimeout.NeverSleep; if (isLowResolution) { Screen.SetResolution(Screen.width / 4, Screen.height / 4, true); } // デフォルト挙動セット this.executeMethod = this.defaultMode; Resources.FindObjectsOfTypeAll <UnityEngine.UI.Dropdown>()[0].value = (int)this.defaultMode; // ログファイル名指定 BatteryLogger.Instance.LogFile = this.logFileName; // 操作対象のtransformの作成を行います transformArray = new Transform[objectNum]; for (int i = 0; i < objectNum; ++i) { GameObject gmo = Object.Instantiate <GameObject>(prefab); transformArray[i] = gmo.transform; } // TransformJobの為に、TransformAccessArrayを事前に生成しておきます #region TRANSFORM_JOB transformAccessArray = new UnityEngine.Jobs.TransformAccessArray(objectNum, 0); for (int i = 0; i < objectNum; ++i) { transformAccessArray.Add(transformArray[i]); } #endregion TRANSFORM_JOB // 座標計算等を並行処理させるために、事前に計算用のワークを確保しておきます #region ARRAY_JOB myStructNativeArray = new Unity.Collections.NativeArray <MyStruct>(objectNum, Unity.Collections.Allocator.Persistent); #endregion ARRAY_JOB }
public void Add(Transform transform) { AtomicSafetyHandle.CheckWriteAndThrow(this.m_Safety); TransformAccessArray.Add(this.m_TransformArray, transform); }