示例#1
0
 void Start()
 {
     lrc = GetComponent <LineRendererController>();
     bodySourceManager = GameObject.FindObjectOfType <BodySourceManager>();
     //_bonePos = new Vector4[(int)BoneIndex.Num_Bones];
     _BoneMap = new Dictionary <JointType, GameObject>()
     {
         { JointType.SpineBase, SpineBase },
         { JointType.SpineMid, SpineMid },
         { JointType.Neck, Neck },
         { JointType.Head, Head },
         { JointType.ShoulderLeft, ShoulderLeft },
         { JointType.ElbowLeft, ElbowLeft },
         { JointType.WristLeft, WristLeft },
         { JointType.HandLeft, HandLeft },
         { JointType.ShoulderRight, ShoulderRight },
         { JointType.ElbowRight, ElbowRight },
         { JointType.WristRight, WristRight },
         { JointType.HandRight, HandRight },
         { JointType.HipLeft, HipLeft },
         { JointType.KneeLeft, KneeLeft },
         { JointType.AnkleLeft, AnkleLeft },
         { JointType.FootLeft, FootLeft },
         { JointType.HipRight, HipRight },
         { JointType.KneeRight, KneeRight },
         { JointType.AnkleRight, AnkleRight },
         { JointType.FootRight, FootRight },
         { JointType.SpineShoulder, SpineShoulder },
         { JointType.HandTipLeft, HandTipLeft },
         { JointType.ThumbLeft, ThumbLeft },
         { JointType.HandTipRight, HandTipRight },
         { JointType.ThumbRight, ThumbRight }
     };
 }
 public void destroyLineRenderer()
 {
     if (lrc != null)
     {
         lrc.selfDestroy();
         lrc = null;
     }
 }
 public LineRendererController getLineRendererControlelr(LineMeshType lineMeshType, Texture2D pointerTexture)
 {
     if (lrc == null)
     {
         lrc = LineRendererController.getLineRenderer(LINE_RENDERER_GO_NAME, supportedMeshLineTypes[lineMeshType], pointerTexture);
     }
     return(lrc);
 }
示例#4
0
 void startWithPoint(IntVector2 pixelPosition)
 {
     firstPoint = pixelPosition;
     if (lineRendererController == null)
     {
         lineRendererController = LineRendererController.getLineRenderer("lineRenderer", lineRendererMeshType, tool.lineTexture);
     }
 }
示例#5
0
文件: Unidad.cs 项目: TopKekstar/IAV
 /// <summary>
 /// Sets the path.
 /// </summary>
 /// <param name="c">The stack of the path.</param>
 public void SetPath(Stack <Vector2Int> c)
 {
     line = Instantiate(linePrefab, transform.parent).GetComponent <LineRendererController>();
     line.SetPath(new Stack <Vector2Int>(c));
     line.SetColorLine(unitColor);
     camino = c;
     from   = camino.Peek();
     followPath();
 }
示例#6
0
    public override void Load(ModularWeapon weapon, Transform barrelEnd)
    {
        base.Load(weapon, barrelEnd);

        this.barrelEnd = barrelEnd;

        lineRendererController = Instantiate(lineRendererPrefab, barrelEnd).GetComponent <LineRendererController>();
        audioSource            = lineRendererController.gameObject.AddComponent <AudioSource>();
        audioSource.clip       = fireSound;
        bulletMarkPool         = GameObject.Find(bulletMarkPoolName).GetComponent <Pool>();

        particleSystems = Instantiate(muzzleFlashPrefab, barrelEnd).GetComponentsInChildren <ParticleSystem>();
    }
    public static LineRendererController getLineRenderer(string name, LineMeshTypeInt lineMeshType, Texture2D pointerTexture)
    {
        PropertiesSingleton.instance.lineRendererMaterial.mainTexture = pointerTexture;
        GameObject go = new GameObject(name);

        go.transform.parent        = PropertiesSingleton.instance.canvasWorkspaceController.transform;
        go.transform.localPosition = Vector3.forward;
        LineRendererController lrc = go.AddComponent <LineRendererController> ();

        lrc.initialize(lineMeshType);
        lrc.line = new List <LineItem>();
        return(lrc);
    }
示例#8
0
    // создаем пул лайнРендереров
    private void FillLineRenererPool()
    {
        int maxPoolSize = (int)(0.5 * boxPoolSize * boxPoolSize - 0.5 * boxPoolSize);       // максимально возможное количество связей (линий) для конкретного значения boxPoolSize

        maxPoolSize = maxPoolSize > 5000 ? 5000 : maxPoolSize;                              // ограничиваем 5000 ЛРок иначе долго создаются.

        for (int i = 0; i < maxPoolSize; i++)
        {
            var lr = Instantiate(lineRendererPrefab, lineRendererPoolPosition.transform.position, Quaternion.identity, lineRendererPoolPosition.transform);
            LineRendererController lrC = lr.GetComponent <LineRendererController>();
            lrC.gameObject.SetActive(false);
            lineRendererPool.Enqueue(lrC);
        }
    }
示例#9
0
    void ConnectNodeToSelected(Node node)
    {
        if (selectedNode != null)
        {
            node.ConnectNodeToEdge(selectedNode.GetIndex());

            // create a connection game object
            GameObject             connectionGO = Instantiate(connectionPrefab);
            LineRendererController lRC          = connectionGO.GetComponent <LineRendererController>();

            lRC.Setup(node.transform, selectedNode.transform);

            connectionGO.transform.parent = node.transform;
        }
    }
示例#10
0
    // Обрабатываем выбранные коробки (создаем линии между ними)
    public static void SetSelectedBoxed(Collider[] hitColliders)
    {
        foreach (Collider collider in hitColliders)
        {
            selectedBoxes.Add(collider.gameObject.GetComponent <BoxController>());
        }

        for (int i = 0; i < selectedBoxes.Count; i++)       // Проходим один раз по каждой уникальной паре элементов.
        {
            for (int j = i + 1; j < selectedBoxes.Count; j++)
            {
                // "создаем" LineRenderer из пула
                LineRendererController lineRendererController = SpawnLineRenderer();
                activeLineRenderers.Add(lineRendererController);
                lineRendererController.SetConnectedBoxes(selectedBoxes[i], selectedBoxes[j]);
            }
        }
    }
示例#11
0
    // Update is called once per frame
    void Update()
    {
        if (isDrawing)
        {
            if (currentGesture == null)
            {
                ++strokeId;

                Transform tmpGesture = Instantiate(gestureOnScreenPrefab, transform.position, transform.rotation) as Transform;
                currentGesture = tmpGesture.GetComponent <LineRendererController> ();

                gestures.Add(currentGesture);
            }
            else
            {
                Vector3 screen = camera.WorldToScreenPoint(mouseTracker.transform.position);
                points.Add(new Point(screen.x, screen.y, strokeId));

                lineRendererVertexes.Add(screen);

                currentGesture.AddPoint(mouseTracker.transform.position);
            }
        }

        if (!isDrawing && points.Count > 20)
        {
            Gesture candidate     = new Gesture(points.ToArray());
            Result  gestureResult = PointCloudRecognizer.Classify(candidate, trainingSet.ToArray());
            message = gestureResult.GestureClass + " " + gestureResult.Score;
            Debug.Log(message);
            SpawnBullet(gestureResult.GestureClass);

            foreach (LineRendererController lineRenderer in gestures)
            {
                Destroy(lineRenderer.gameObject);
            }

            gestures.Clear();
            strokeId = -1;
            points.Clear();
            lineRendererVertexes.Clear();
            currentGesture = null;
        }
    }
示例#12
0
    public void LoadTrack()
    {
        NodeData[] nodeData = SaveSystem.LoadTrack();
        foreach (NodeData nD in nodeData)
        {
            CreateNodeFromExistingData(nD);
        }

        // then create the connections
        foreach (Node n in nodes)
        {
            foreach (int connection in n.GetEdgeConnections())
            {
                // create a connection game object
                GameObject             connectionGO = Instantiate(connectionPrefab);
                LineRendererController lRC          = connectionGO.GetComponent <LineRendererController>();

                lRC.Setup(n.transform, nodes[connection].transform);

                connectionGO.transform.parent = n.transform;
            }
        }
    }
示例#13
0
 // Уничтожаем (убираем в пул)
 public static void DestroyLR(LineRendererController lr)
 {
     // Возвращаем объект в пул
     lr.gameObject.SetActive(false);
     lineRendererPool.Enqueue(lr);
 }
示例#14
0
 void startWithPoint(IntVector2 pixelPosition)
 {
     firstPoint = pixelPosition;
     if (lineRendererController==null){
         lineRendererController = LineRendererController.getLineRenderer ("lineRenderer", lineRendererMeshType, tool.lineTexture);
     }
 }
示例#15
0
 public LineRendererController getLineRendererControlelr(LineMeshType lineMeshType, Texture2D pointerTexture)
 {
     if (lrc == null) {
         lrc = LineRendererController.getLineRenderer (LINE_RENDERER_GO_NAME, supportedMeshLineTypes[lineMeshType], pointerTexture);
     }
     return lrc;
 }
示例#16
0
 public void destroyLineRenderer()
 {
     if (lrc != null) {
         lrc.selfDestroy ();
         lrc = null;
     }
 }