ショットガンを撃った場合の表現を補強
![B4ed5206 1bad 4399 ab75 5c9a565bf39f](https://codegenius.org/uploads/slide/image/3198/b4ed5206-1bad-4399-ab75-5c9a565bf39f.jpeg)
![879ed61e 5de8 42ba b297 e7779a2132cb](https://codegenius.org/uploads/slide/image/3199/879ed61e-5de8-42ba-b297-e7779a2132cb.jpeg)
銃口から火花を出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public AudioClip reloadSound;
public float shotSpeed;
public int shotCount = 30;
private float shotInterval;
// ★火花を出す
public GameObject effectPrefab;
void Update () {
if(Input.GetKey(KeyCode.Mouse0)){
shotInterval += 1;
if(shotInterval % 5 == 0 && shotCount > 0){
shotCount -= 1;
GameObject bullet = (GameObject)Instantiate(bulletPrefab, transform.position, Quaternion.Euler(transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody bulletRb = bullet.GetComponent<Rigidbody>();
bulletRb.AddForce(transform.forward * shotSpeed);
Destroy(bullet, 3.0f);
AudioSource.PlayClipAtPoint(shotSound, Camera.main.transform.position);
// ★火花を出す
GameObject effect = (GameObject)Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.1f);
}
} else if(Input.GetKeyDown(KeyCode.R)){
shotCount = 30;
AudioSource.PlayClipAtPoint(reloadSound, Camera.main.transform.position);
}
}
}
![1aee4c5d 36ce 430f aad6 0cda03f69ac9](https://codegenius.org/uploads/slide/image/3200/1aee4c5d-36ce-430f-aad6-0cda03f69ac9.jpeg)
![Ea1d40c8 6d4d 4530 8d41 6e54c8eec244](https://codegenius.org/uploads/slide/image/3201/ea1d40c8-6d4d-4530-8d41-6e54c8eec244.jpeg)
![5152117b 7a54 42a1 88e9 fff70ded513d](https://codegenius.org/uploads/slide/image/3202/5152117b-7a54-42a1-88e9-fff70ded513d.jpeg)
![F417b045 4c8c 4104 af95 c6e3a83e092c](https://codegenius.org/uploads/slide/image/3203/f417b045-4c8c-4104-af95-c6e3a83e092c.jpeg)
弾が着弾した場所に火花を出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DestroyBullet : MonoBehaviour {
public GameObject effectPrefab;
void OnCollisionEnter(Collision other){
if(other.gameObject.tag == "Bullet"){
Destroy(other.gameObject);
foreach(ContactPoint contactPoint in other.contacts){
GameObject effect = (GameObject)Instantiate(effectPrefab, (Vector3)contactPoint.point, Quaternion.identity);
Destroy(effect, 0.2f);
}
}
}
}
![30c85639 72a2 47b6 b32d 073c8c7c4ec3](https://codegenius.org/uploads/slide/image/3204/30c85639-72a2-47b6-b32d-073c8c7c4ec3.jpeg)
EscapeCombat
他のコースを見る![B4ed5206 1bad 4399 ab75 5c9a565bf39f](https://codegenius.org/uploads/slide/image/3198/b4ed5206-1bad-4399-ab75-5c9a565bf39f.jpeg)
![879ed61e 5de8 42ba b297 e7779a2132cb](https://codegenius.org/uploads/slide/image/3199/879ed61e-5de8-42ba-b297-e7779a2132cb.jpeg)
銃口から火花を出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShotBullet : MonoBehaviour {
public GameObject bulletPrefab;
public AudioClip shotSound;
public AudioClip reloadSound;
public float shotSpeed;
public int shotCount = 30;
private float shotInterval;
// ★火花を出す
public GameObject effectPrefab;
void Update () {
if(Input.GetKey(KeyCode.Mouse0)){
shotInterval += 1;
if(shotInterval % 5 == 0 && shotCount > 0){
shotCount -= 1;
GameObject bullet = (GameObject)Instantiate(bulletPrefab, transform.position, Quaternion.Euler(transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0));
Rigidbody bulletRb = bullet.GetComponent<Rigidbody>();
bulletRb.AddForce(transform.forward * shotSpeed);
Destroy(bullet, 3.0f);
AudioSource.PlayClipAtPoint(shotSound, Camera.main.transform.position);
// ★火花を出す
GameObject effect = (GameObject)Instantiate(effectPrefab, transform.position, Quaternion.identity);
Destroy(effect, 0.1f);
}
} else if(Input.GetKeyDown(KeyCode.R)){
shotCount = 30;
AudioSource.PlayClipAtPoint(reloadSound, Camera.main.transform.position);
}
}
}
![1aee4c5d 36ce 430f aad6 0cda03f69ac9](https://codegenius.org/uploads/slide/image/3200/1aee4c5d-36ce-430f-aad6-0cda03f69ac9.jpeg)
![Ea1d40c8 6d4d 4530 8d41 6e54c8eec244](https://codegenius.org/uploads/slide/image/3201/ea1d40c8-6d4d-4530-8d41-6e54c8eec244.jpeg)
![5152117b 7a54 42a1 88e9 fff70ded513d](https://codegenius.org/uploads/slide/image/3202/5152117b-7a54-42a1-88e9-fff70ded513d.jpeg)
![F417b045 4c8c 4104 af95 c6e3a83e092c](https://codegenius.org/uploads/slide/image/3203/f417b045-4c8c-4104-af95-c6e3a83e092c.jpeg)
弾が着弾した場所に火花を出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DestroyBullet : MonoBehaviour {
public GameObject effectPrefab;
void OnCollisionEnter(Collision other){
if(other.gameObject.tag == "Bullet"){
Destroy(other.gameObject);
foreach(ContactPoint contactPoint in other.contacts){
GameObject effect = (GameObject)Instantiate(effectPrefab, (Vector3)contactPoint.point, Quaternion.identity);
Destroy(effect, 0.2f);
}
}
}
}
![30c85639 72a2 47b6 b32d 073c8c7c4ec3](https://codegenius.org/uploads/slide/image/3204/30c85639-72a2-47b6-b32d-073c8c7c4ec3.jpeg)
ショットガンを撃った場合の表現を補強