Exemplo n.º 1
0
        public void Initialize(VRCAvatar edittingAvatar, VRCAvatar originalAvatar)
        {
            this.edittingAvatar = edittingAvatar;
            this.originalAvatar = originalAvatar;
            // TODO: 1秒以上かかる
            customShaders     = GatoUtility.LoadShadersInProject();
            customShaderNames = customShaders.Select(s => s.name).ToArray();
            shaderKindGroups  = customShaders
                                .GroupBy(s => s.name.Split('/').First())
                                .ToArray();
            currentShaderKindName = GetShaderKindName(edittingAvatar.Materials);
            shaderKindNames       = shaderKindGroups.Select(s => s.Key).ToArray();
            shaderKindIndex       = Array.IndexOf(shaderKindNames, currentShaderKindName);

            // すべてtrueで初期化したnew bool[edittingAvatar.materials.Length]
            isTargets = Enumerable.Range(0, edittingAvatar.Materials.Length).Select(b => true).ToArray();
        }