コード例 #1
0
ファイル: GeoMaker.cs プロジェクト: ly774508966/hololens
    private void Awake()
    {
        // Create reticle game object and mesh
        m_gameObject = new GameObject("Extruded");
        m_gameObject.transform.parent = null;
        m_meshCollider                = m_gameObject.AddComponent <MeshCollider>();
        m_mesh                        = m_gameObject.AddComponent <MeshFilter>().mesh;
        m_meshRenderer                = m_gameObject.AddComponent <MeshRenderer>();
        m_meshRenderer.material       = selectionMaterial;
        m_meshRenderer.material.color = Color.white;
        m_meshRenderer.enabled        = true;

        // Selection surface
        Vector2[] tileUV =
        {
            new Vector2((1f / 128) * 0.5f,         (1f / 736) * (736 - 0.5f)),
            new Vector2((1f / 128) * (128 - 0.5f), (1f / 736) * (736 - 0.5f)),
            new Vector2((1f / 128) * (128 - 0.5f), (1f / 736) * 0.5f),
            new Vector2((1f / 128) * 0.5f,         (1f / 736) * 0.5f)

            /*
             * (1f / 128) * new Vector2(3.5f, 128 - 3.5f),
             * (1f / 128) * new Vector2(128 - 3.5f, 128 - 3.5f),
             * (1f / 128) * new Vector2(128 - 3.5f, 3.5f),
             * (1f / 128) * new Vector2(3.5f, 3.5f)
             */
        };
        m_topUV     = tileUV;
        m_sideUV    = tileUV;
        m_selection = new PlanarTileSelection(70, m_topUV);
#if !UNITY_EDITOR
        m_xboxController = new ControllerInput(0, 0.19f);
#endif
    }
コード例 #2
0
ファイル: MeshExtruder.cs プロジェクト: ly774508966/hololens
 public MeshExtruder(PlanarTileSelection selection)
 {
     m_tiles = new List <SelectionTile>(selection.tiles);
     Vector3[] vertices;
     int[]     triangles;
     Vector2[] uv;
     selection.GenerateMeshData(out vertices, out triangles, out uv);
     m_vertices  = new List <Vector3>(vertices);
     m_triangles = new List <int>(triangles);
 }
コード例 #3
0
    public GeoMaker()
    {
        // Selection surface
        Vector2[] selectUV =
        {
            /*
             * new Vector2((1f/128) * 0.5f, (1f/736) * (736 - 0.5f)),
             * new Vector2((1f/128) * (128 - 0.5f), (1f/736) * (736 - 0.5f)),
             * new Vector2((1f/128) * (128 - 0.5f), (1f/736) * 0.5f),
             * new Vector2((1f/128) * 0.5f, (1f/736) * 0.5f)
             */
            (1f / 128) * new Vector2(3.5f,       128 - 3.5f),
            (1f / 128) * new Vector2(128 - 3.5f, 128 - 3.5f),
            (1f / 128) * new Vector2(128 - 3.5f,       3.5f),
            (1f / 128) * new Vector2(3.5f, 3.5f)
        };

        // Simple extrusions have 2 texture tiles (512x512) for a total of 512x1024
        m_simpleTopUV = new Vector2[]
        {
            new Vector2((1f / 512) * 0.5f, (1f / 1024) * (1024 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1024) * (1024 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1024) * (512 - 0.5f)),
            new Vector2((1f / 512) * 0.5f, (1f / 1024) * (512 - 0.5f))
        };
        m_simpleSideUV = new Vector2[]
        {
            new Vector2((1f / 512) * 0.5f, (1f / 1024) * (512 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1024) * (512 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1024) * 0.5f),
            new Vector2((1f / 512) * 0.5f, (1f / 1024) * 0.5f)
        };

        // Capped extrusions have 3 texture tiles for a total of 512x1536
        m_cappedTopUV = new Vector2[]
        {
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * (1536 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * (1536 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * (1024 - 0.5f)),
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * (1024 - 0.5f))
        };
        m_cappedCrownUV = new Vector2[]
        {
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * (1024 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * (1024 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * (512 - 0.5f)),
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * (512 - 0.5f))
        };
        m_cappedBaseUV = new Vector2[]
        {
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * (512 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * (512 - 0.5f)),
            new Vector2((1f / 512) * (512 - 0.5f), (1f / 1536) * 0.5f),
            new Vector2((1f / 512) * 0.5f, (1f / 1536) * 0.5f)
        };

        // Simple extrusions with a bottom have 3 texture tiles (256x256) for a
        // total of 256x768
        m_movingTopUV = new Vector2[]
        {
            new Vector2((1f / 256) * 0.5f, (1f / 768) * (768 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * (768 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * (512 - 0.5f)),
            new Vector2((1f / 256) * 0.5f, (1f / 768) * (512 - 0.5f))
        };
        m_movingSideUV = new Vector2[]
        {
            new Vector2((1f / 256) * 0.5f, (1f / 768) * (512 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * (512 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * (256 - 0.5f)),
            new Vector2((1f / 256) * 0.5f, (1f / 768) * (256 - 0.5f))
        };
        m_movingBottomUV = new Vector2[]
        {
            new Vector2((1f / 256) * 0.5f, (1f / 768) * (256 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * (256 - 0.5f)),
            new Vector2((1f / 256) * (256 - 0.5f), (1f / 768) * 0.5f),
            new Vector2((1f / 256) * 0.5f, (1f / 768) * 0.5f)
        };
        m_selection = new PlanarTileSelection(70, selectUV);
    }