Unity 3d,当我在屏幕上点击时,球体变形为立方体

问题描述 投票:0回答:1

我已经尝试创建一个简单的脚本来与3d结合使用,但是我遇到了这个问题。在void start上,我创建一个简单的3d球体,然后在屏幕上单击该球体应该在另一个对象(例如多维数据集)中进行转换。我尝试创建一个Empty Game Object并创建此脚本来更改对象,但是对于空对象,我无法将Rigidbody用于生成的3d对象...如何解决此问题?

当我单击屏幕时,该球体会变形为立方体。

也许我应该在此脚本中添加刚体?

(对不起我的英语不好)ps。 (我用C#编码。)>

这是我的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class creatorscriptFunzionante : MonoBehaviour
{
    public int counter; //contatore per le forme da spawnare

    //forme da spawnare
    public GameObject sphereBase; //sfera iniziale
    public GameObject sphere;
    public GameObject cube;
    public GameObject capsule;

    private void Awake()
    {

    }

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        if (Input.GetMouseButtonDown(0))
        {


            counter++;
            Debug.Log(counter);
            if (counter == 1)
            {

                Destroy(sphereBase);
                Destroy(capsule);
                sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                sphere.GetComponent<Renderer>().material.color = new Color(255, 0, 0); //color
            }

            if (counter == 2)
            {
                Destroy(sphere);
                cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
                cube.GetComponent<Renderer>().material.color = new Color(0, 255, 0);
            }

            if (counter == 3)
            {
                Destroy(cube);
                capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule);
                capsule.GetComponent<Renderer>().material.color = new Color(0, 25, 230);
                counter = 0;
            }
        }

    }
}

我已经尝试创建一个简单的脚本来与3d结合使用,但是我遇到了这个问题。从空开始,我创建了一个简单的3d球体,当我单击屏幕时,该球体应在...

c# android unity3d
1个回答
-1
投票

最简单的解决方案是像这样在Start()方法中初始化对象,并像这样将它们设置为非活动状态:

© www.soinside.com 2019 - 2024. All rights reserved.