お世話になります。こちらで初めての質問になります。
unityのゲームビュー、またunityRemote4では正しく動いているのですがビルドし実機でテストした際に表示されないオブジェクトがあります。
Instantiate(prefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
オブジェクト(発射台)から丸のオブジェクト(弾)を一定の条件に達したら発射するようにしています。
発射台のほうはちゃんと表示されてますが弾がでてきません。
原因がわかるかたいらっしゃれば教えていただきたいです。よろしくお願いします
追記
コメントありがとうございます。説明不足で申し訳ありません。
まず実機として使用したのはAndroid4.2とAndroid5.1でどちらでも上記のような状態です。
上記のプログラムは発射台に使用しているスクリプトの一部で、prefabで生成しようとしているのが丸のオブジェクト(弾)になります。ファイルを1文字づつ読み込み1の場合弾が発射されるようにしてます。使用しているオブジェクトは発射台(cube)が4つです。
よろしくお願いします。
追記2
C#
using UnityEngine;
using System.Collections;
public class Fall : MonoBehaviour {
float speed = -0.15f; void Start () { Destroy(this.gameObject, 1.5f); } void Update () { transform.Translate(0, speed, 0); if(transform.position.y >= -4.3 && transform.position.y <= -3.7 && Input.GetKey(KeyCode.E)){ Destroy(this.gameObject); } }
}
↑こちらは丸のオブジェクトで使用しているスクリプトです
using UnityEngine;
using System.Collections;
public class Filing : MonoBehaviour {
public GameObject prefab; int[] LismData = new int[100]; int cnt = 0; int first = 0; private int _frames = 0; private float _time = 0; public int Data(int cnt) { int i; if (first == 0) { System.IO.StreamReader sr = new System.IO.StreamReader("C:\\Users\\s1257115\\Documents\\LismGame\\Lism1.txt", System.Text.Encoding.GetEncoding("shift_jis")); //内容をすべて読み込む for (i = 0; i <= 80; i++) { LismData[i] = sr.Read(); } //閉じる sr.Close(); first = 1; } return LismData[cnt]; } // Use this for initialization void Start () { Application.targetFrameRate = 5; //★フレーム回数の指定 } // Update is called once per frame void Update () { ++_frames; _time += Time.deltaTime; if (_time >= 1.0f) { cnt++; if (Data(cnt) == 1 ) { Instantiate(prefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity); } _time = 0; _frames = 0; } }
}
↑こちらが発射台で使用するスクリプトです
発射台でprefabを生成し、生成されたprefabの動きは上のほうのプログラムで指定するというようにしています。
それとシェーダについてあまりよく理解していないのですが使用しているのはUnlit/Tranparentです
よろしくお願いします