c# - 无法从“(UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3)”转换为“Vector3”
问题描述
我有一个代码,它将在随机位置创建一个名为“spawnee”的新立方体,并有一个名为“spawnPos.rotation”的预设旋转:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PlayerController : MonoBehaviour
{
public Transform spawnPos;
public GameObject spawnee;
Vector3 a;
Vector3 b;
Vector3 c;
void Update() {
Instantiate(spawnee, (a,b,c), spawnPos.rotation);
}
}
但是当我保存它并返回 Unity 时,它给了我一个错误:无法从 '(UnityEngine.Vector3, UnityEngine.Vector3, UnityEngine.Vector3)' 转换为 'Vector3'。我的代码有问题吗?
解决方案
在Instantiate函数中,第二个参数是 Vector3
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
请使用这个
float a,b,c;//your randome position axis in seperate variables
Instantiate(spawnee, new Vector(a,b,c), spawnPos.rotation);
或这个
Vector3 yourRandomPosition;
Instantiate(spawnee, yourRandomPosition, spawnPos.rotation);
推荐阅读
- java - 注释中的 XML 标记导致 ant 构建错误
- tensorflow - 类型错误:必须是实数而不是张量
- sql - SQL(访问)其中日期在不同日期字段的 6 个月内
- angular - 将参数从.net dll(或控制台应用程序)传递到角度应用程序(角度 5)
- javascript - 在旧的基础上初始化一个新的 highcharts 对象
- javascript - Bootstrap导航栏下拉菜单和汉堡不起作用
- android - MPAndroidChart:XAxisValueFormatter 中的 ArrayIndexOutOfBoundsException
- hadoop - Hadoop 3.1.1 启动 HDFS 服务的问题
- java - 是否可以从客户端公钥中提取信息以便在服务器上创建唯一文件夹?
- sql - Sql 查询查找只有一行的行(用于 exp 许可证)