コード例 #1
0
        void UpdateMesh(AlembicCurves curves)
        {
            if (curves.Positions.Length == 0)
            {
                return;
            }

            GenerateLineMesh(mesh, curves.Positions, curves.CurveOffsets);

            /*    if (prevRenderMethod != renderMethod)
             *  {
             *      mesh.Clear();
             *  }
             *
             *  prevRenderMethod = renderMethod;
             */
            /*          switch (renderMethod)
             *        {
             *            case RenderMethod.Line:
             *                GenerateLineMesh(mesh, curves.Positions, curves.CurvePointCount);
             *                break;
             *            case RenderMethod.Strip:
             *                GeneratePlaneMesh(mesh, curves.Positions, curves.CurvePointCount, curves.Widths);
             *                break;
             *            default:
             *                throw new ArgumentOutOfRangeException();
             *        }*/
        }
コード例 #2
0
        void OnEnable()
        {
            curves = GetComponent <AlembicCurves>();
            //curves.OnUpdate += UpdateMesh;

            mesh = new Mesh {
                hideFlags = HideFlags.DontSave
            };
            GetComponent <MeshFilter>().sharedMesh = mesh;
            var meshRenderer = GetComponent <MeshRenderer>();

            if (meshRenderer.sharedMaterial == null)
            {
                meshRenderer.sharedMaterial = GetDefaultMaterial();
            }
            UpdateMesh(curves);
        }