예제 #1
0
    /// <summary>
    /// 长出新枝
    /// </summary>
    /// <param name="branch"></param>
    void branch(GameObject branch)
    {
        isRotating        = false;
        rotateToggle.isOn = false;

        BiangTree tree = branch.transform.parent.gameObject.GetComponent <BiangTree>();

        StartCoroutine(tree.generateChildBranch(branch, tree.interateScaleRatio, 1));
    }
예제 #2
0
    //更改出枝概率后对tree类进行刷新
    void refreshProbabilities(BiangTree bt)
    {
        for (int j = 0; j < bnSliders.Length; j++)
        {
            bt.BranchNum_probabilites[j] = (int)(bnSliders[j].value * 100) + 1;
        }

        for (int j = 0; j < btsSliders.Length - 1; j++)
        {
            bt.BranchDecay_probabilites[j + 1] = (int)(btsSliders[j].value * 100) + 1;
        }

        bt.InitializeProbabilities();
    }
예제 #3
0
 /// <summary>
 /// 创造森林
 /// </summary>
 void createForest()
 {
     for (int i = 0; i < TreeNum; i++)
     {
         GameObject Tree = Instantiate(Tree_Prefab, Forest.transform);
         Tree.transform.position = new Vector3(TreeDistance * ratio * 4 * (i - TreeNum / 2), 0, 0);
         BiangTree bt = Tree.GetComponent <BiangTree>();
         biangTrees.Add(bt);
         bt.BranchNum_probabilites      = new int[bnSliders.Length];
         bt.BranchDecay_probabilites    = new int[btsSliders.Length + 1];
         bt.BranchDecay_probabilites[0] = 0;
         refreshProbabilities(bt);
         bt.Initialize();
     }
 }