我在Unity中创建了一个FPS游戏并且从标准资产中获得了第一个人的相机枪,直到现在,当我按下编辑器中的“播放”按钮时,枪消失了。
我按照所有步骤here进行了操作,但仍然消失了。
我很擅长用Unity制作游戏,所以我可能错过了一些明显的东西。
这是代码:
using UnityEngine;
using System.Collections;
public class PlayerShooting : MonoBehaviour {
public ParticleSystem muzzleFlash;
Animator anim;
public GameObject impactPrefab;
GameObject[] impacts;
int currentImpact = 0;
int maxImpacts = 5;
bool shooting = false;
// Use this for initialization
void Start () {
impacts = new GameObject[maxImpacts];
for(int i = 0; i < maxImpacts; i++)
impacts[i] = (GameObject)Instantiate(impactPrefab);
anim = GetComponentInChildren<Animator> ();
}
// Update is called once per frame
void Update () {
if(Input.GetButtonDown ("Fire1") && !Input.GetKey(KeyCode.LeftShift))
{
muzzleFlash.Play();
anim.SetTrigger("Fire");
shooting = true;
}
}
void FixedUpdate()
{
if(shooting)
{
shooting = false;
RaycastHit hit;
if(Physics.Raycast(transform.position, transform.forward, out hit, 50f))
{
if(hit.transform.tag == "Enemy")
Destroy (hit.transform.gameObject);
impacts[currentImpact].transform.position = hit.point;
impacts[currentImpact].GetComponent<ParticleSystem>().Play();
if(++currentImpact >= maxImpacts)
currentImpact = 0;
}
}
}
}
答案 0 :(得分:1)
解决了它,将GunCamera的深度改为1而不是0,现在它可以正常工作。
答案 1 :(得分:0)
GameObject通过GameObject-&gt;创建空并命名
现在这应作为主摄像机的子项附加
现在这款主摄像头不是主摄像头,而是您添加的第一人称控制器对象内的主摄像头。
任何屏幕截图或示例代码都有助于找到确切的错误