Esempio n. 1
0
        public virtual void loadAsset()
        {
            if (this.isAssetLoaded)
            {
                return;
            }
            this.isAssetLoaded = true;
            FoliageInstancedMeshInfoAsset foliageInstancedMeshInfoAsset = Assets.find <FoliageInstancedMeshInfoAsset>(this.assetReference);

            if (foliageInstancedMeshInfoAsset == null)
            {
                return;
            }
            this.mesh        = Assets.load <Mesh>(foliageInstancedMeshInfoAsset.mesh);
            this.material    = Assets.load <Material>(foliageInstancedMeshInfoAsset.material);
            this.castShadows = foliageInstancedMeshInfoAsset.castShadows;
            this.tileDither  = foliageInstancedMeshInfoAsset.tileDither;
            if (foliageInstancedMeshInfoAsset.drawDistance == -1)
            {
                this.sqrDrawDistance = -1;
            }
            else
            {
                this.sqrDrawDistance = foliageInstancedMeshInfoAsset.drawDistance * foliageInstancedMeshInfoAsset.drawDistance;
            }
        }
Esempio n. 2
0
        public virtual void applyScale()
        {
            FoliageInstancedMeshInfoAsset foliageInstancedMeshInfoAsset = Assets.find <FoliageInstancedMeshInfoAsset>(this.assetReference);

            if (foliageInstancedMeshInfoAsset == null)
            {
                return;
            }
            for (int i = 0; i < this.matrices.Count; i++)
            {
                List <Matrix4x4> list  = this.matrices[i];
                List <bool>      list2 = this.clearWhenBaked[i];
                for (int j = list.Count - 1; j >= 0; j--)
                {
                    Matrix4x4  matrix4x    = list[j];
                    Vector3    position    = matrix4x.GetPosition();
                    Quaternion rotation    = matrix4x.GetRotation();
                    Vector3    randomScale = foliageInstancedMeshInfoAsset.randomScale;
                    matrix4x = Matrix4x4.TRS(position, rotation, randomScale);
                    list[j]  = matrix4x;
                }
            }
        }