【发布时间】:2020-03-13 11:07:19
【问题描述】:
正如您在屏幕截图中看到的那样,我在游戏选项卡中看不到预制件,而只能在编辑器中看到。我做了一个简单的拍摄功能(还没有完成),它工作正常,它产生预制件但我在游戏选项卡中看不到它们,我已经尝试改变排序层,移动相机,改变 Z 位置但什么也没发生。
这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerAttack : MonoBehaviour
{
[SerializeField]
float delayBetweenShots = 0.4f;
float timePassedSinceLast = 0f;
// Start is called before the first frame update
void Start()
{
timePassedSinceLast = delayBetweenShots;
}
// Update is called once per frame
void Update()
{
Aiming();
Shooting();
}
void Aiming()
{
var objectPos = Camera.main.WorldToScreenPoint(transform.position);
var dir = Input.mousePosition - objectPos;
transform.rotation = Quaternion.Euler(new Vector3(0,0,Mathf.Atan2(-dir.x, dir.y) * Mathf.Rad2Deg));
}
void Shooting()
{
if(Input.GetMouseButton(0) && timePassedSinceLast >= delayBetweenShots)
{
GameObject bullet = (GameObject)Instantiate(Resources.Load("bullet"), transform.position, transform.rotation);
timePassedSinceLast = 0f;
}
else
{
timePassedSinceLast += Time.deltaTime;
}
}
}
【问题讨论】:
-
它们是否出现在层次结构中?如果您转到场景视图并单击它们并专注于它们会发生什么,它们是否可能出现在其他东西中?你似乎没有给他们方向和运动他们是否有正确的排序顺序,不会落后于其他东西,比如玩家、建筑物
-
就像 bugfinder 说的那样,运行游戏,拍摄一些预制件,在一些正在飞行时暂停编辑器,然后双击其中一个克隆以放大靠近它。你只看到变换小玩意儿吗?
-
注意暂停时你可以隐藏其他的东西来检查实例化的对象是否有body
-
也许它们位于您的相机不包括该层的层中。检查它们是哪一层以及相机剔除设置。
-
正如我所说,你需要检查它是否在其他东西后面......所以,如上所述,暂停游戏,隐藏玩家,建筑物,我敢打赌它们会出现......在这种情况下,它的排序顺序或层
标签: c# unity3d visual-studio-code game-engine