对于简单的2D游戏,我有以下代码。此刻游戏被定向灯照亮,该背景灯和玩家都亮起。
public class BlockSpawner : MonoBehaviour
{
public GameObject blockPrefab; // a purple cube
public Vector2 spawnSizeMinmax;
private double _secondsBetweenSpawns = 0.5;
private float _nextSpawnTime;
private void Update()
{
if (Time.time > _nextSpawnTime)
{
_nextSpawnTime = (float) (Time.time + _secondsBetweenSpawns);
float spawnSize = Random.Range(spawnSizeMinmax.x,spawnSizeMinmax.y);
Vector3 spawnPosition =
new Vector3(
Random.Range(Player.screenHalfWidth - spawnSize,-Player.screenHalfWidth + spawnSize),Player.screenHalfHeight + spawnSize,5
);
GameObject block = Instantiate(blockPrefab,spawnPosition,Quaternion.identity);
block.transform.parent = transform;
block.transform.localScale = Vector2.one * spawnSize;
block.transform.Rotate(new Vector3(0,Random.Range(-20,20)));
}
}
}
当我将预制件拖到场景上时,它显示为3d红色立方体。当我使用此代码生成它时,它显示为2d黑色正方形,完全不响应照明。它以其他方式表现出预期的效果。
是否有某种方法可以使其接受光?我已经尝试了检查器中的所有内容。
编辑:这是一些屏幕截图