照準器を作る
![74ee2025 9de5 46cf b220 ac2370508faa](https://codegenius.org/uploads/slide/image/2373/74ee2025-9de5-46cf-b220-ac2370508faa.jpeg)
![25d6ca2d 5b35 4afe 8fcc d0c4307fc8a4](https://codegenius.org/uploads/slide/image/2374/25d6ca2d-5b35-4afe-8fcc-d0c4307fc8a4.jpeg)
https://mono-pro.net/unity-codegenius-battletank-aim/aiming.zip画像ダウンロード
![26cca5ec cfbf 4ca4 abc2 4053c4deb808](https://codegenius.org/uploads/slide/image/2375/26cca5ec-cfbf-4ca4-abc2-4053c4deb808.jpeg)
![Ab51bea2 4b62 4a2e aedb f7a0d5e2adac](https://codegenius.org/uploads/slide/image/2376/ab51bea2-4b62-4a2e-aedb-f7a0d5e2adac.jpeg)
![Ba90d029 d7c5 41f3 bba1 ff4fbe9971eb](https://codegenius.org/uploads/slide/image/2377/ba90d029-d7c5-41f3-bba1-ff4fbe9971eb.jpeg)
![821eaf6e f9a2 4c94 84ef 2b9e3592d6df](https://codegenius.org/uploads/slide/image/2378/821eaf6e-f9a2-4c94-84ef-2b9e3592d6df.jpeg)
![D444995d 2d9f 42e7 b587 1b3ac04aeb9c](https://codegenius.org/uploads/slide/image/2379/d444995d-2d9f-42e7-b587-1b3ac04aeb9c.jpeg)
Rayで照準器を作る
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 追加しましょう(ポイント)
using UnityEngine.UI;
public class Aim : MonoBehaviour
{
public Image aimImage;
void Update()
{
// レーザー(ray)を飛ばす「起点」と「方向」
Ray ray = new Ray(transform.position, transform.forward);
// rayのあたり判定の情報を入れる箱を作る。
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 60))
{
string hitName = hit.transform.gameObject.tag;
if (hitName == "Enemy")
{
// 照準器の色を「赤」に変える(色は自由に変更してください。)
aimImage.color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
}
else
{
// 照準器の色を「水色」(色は自由に変更してください。)
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
else
{
// 照準器の色を「水色」(色は自由に変更してください。)
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
}
![B2dd2b8e 61fe 4b8b ba12 5b0f2c51e182](https://codegenius.org/uploads/slide/image/2380/b2dd2b8e-61fe-4b8b-ba12-5b0f2c51e182.jpeg)
![C197386a aa8b 474e b6a3 c5607549bffe](https://codegenius.org/uploads/slide/image/2381/c197386a-aa8b-474e-b6a3-c5607549bffe.jpeg)
![225061dd fb76 42c3 93de e6b2fe003ab5](https://codegenius.org/uploads/slide/image/2382/225061dd-fb76-42c3-93de-e6b2fe003ab5.jpeg)
![2faa2b3b 4b3e 4259 b594 d4f7c3527ea5](https://codegenius.org/uploads/slide/image/2383/2faa2b3b-4b3e-4259-b594-d4f7c3527ea5.jpeg)
![C2846eba 6478 4d0a 833c ed78306601e0](https://codegenius.org/uploads/slide/image/2384/c2846eba-6478-4d0a-833c-ed78306601e0.jpeg)
![8494daa4 9c98 43a6 8460 dbb024517b8e](https://codegenius.org/uploads/slide/image/2385/8494daa4-9c98-43a6-8460-dbb024517b8e.jpeg)
![8d01dbeb 7ed7 46d0 9a5c 95810368236b](https://codegenius.org/uploads/slide/image/2386/8d01dbeb-7ed7-46d0-9a5c-95810368236b.jpeg)
![9d366b47 cbe7 4cae a11c c155041a3dfb](https://codegenius.org/uploads/slide/image/2387/9d366b47-cbe7-4cae-a11c-c155041a3dfb.jpeg)
照準器のオンオフを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Camera mainCamera;
public Camera subCamera;
private bool mainCameraON = true;
// ★追加
public GameObject aimImage;
void Start()
{
mainCamera.enabled = true;
subCamera.enabled = false;
// ★追加
// 客観カメラの場合、照準器をオフにする。
aimImage.SetActive(false);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
subCamera.enabled = true;
mainCameraON = false;
// ★追加
// 主観カメラの場合、照準器をオンにする。
aimImage.SetActive(true);
}
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
subCamera.enabled = false;
mainCameraON = true;
// ★追加
// 客観カメラの場合、照準器をオフにする。
aimImage.SetActive(false);
}
}
}
![6990c34c 03a8 4be5 a2e4 e9ddcee19594](https://codegenius.org/uploads/slide/image/2388/6990c34c-03a8-4be5-a2e4-e9ddcee19594.jpeg)
![4b1add0d 6bb9 48f6 8a3e 90efc9b06d28](https://codegenius.org/uploads/slide/image/2389/4b1add0d-6bb9-48f6-8a3e-90efc9b06d28.jpeg)
![617ec213 0f63 4768 b7ac 668fe7334681](https://codegenius.org/uploads/slide/image/2390/617ec213-0f63-4768-b7ac-668fe7334681.jpeg)
![93971f36 a512 4838 bb92 4b388c528445](https://codegenius.org/uploads/slide/image/2391/93971f36-a512-4838-bb92-4b388c528445.jpeg)
![C81ba482 9856 4670 9648 d339228668b4](https://codegenius.org/uploads/slide/image/2392/c81ba482-9856-4670-9648-d339228668b4.jpeg)
![94e15cdf 548a 4996 a680 658fa3689bc1](https://codegenius.org/uploads/slide/image/2393/94e15cdf-548a-4996-a680-658fa3689bc1.jpeg)
![876db449 e739 4f80 b9b0 c1f6921eb165](https://codegenius.org/uploads/slide/image/2394/876db449-e739-4f80-b9b0-c1f6921eb165.jpeg)
![24676000 a4fb 40d5 ae40 f7966eec1e32](https://codegenius.org/uploads/slide/image/2395/24676000-a4fb-40d5-ae40-f7966eec1e32.jpeg)
レーザー光を可視化する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Aim : MonoBehaviour
{
public Image aimImage;
void Update()
{
Ray ray = new Ray(transform.position, transform.forward);
// ★★追加(レーザー光を可視化することができる)
Debug.DrawRay(transform.position, transform.forward * 30, Color.green);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 60))
{
string hitName = hit.transform.gameObject.tag;
if (hitName == "Enemy")
{
aimImage.color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
}
else
{
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
else
{
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
}
![7a38cb59 f7d6 470d a334 1a52b0e1888c](https://codegenius.org/uploads/slide/image/2396/7a38cb59-f7d6-470d-a334-1a52b0e1888c.jpeg)
![E48cd156 d975 4870 a787 b1ba72691cff](https://codegenius.org/uploads/slide/image/2397/e48cd156-d975-4870-a787-b1ba72691cff.jpeg)
BattleTank(基礎/全31回)
他のコースを見る![74ee2025 9de5 46cf b220 ac2370508faa](https://codegenius.org/uploads/slide/image/2373/74ee2025-9de5-46cf-b220-ac2370508faa.jpeg)
![25d6ca2d 5b35 4afe 8fcc d0c4307fc8a4](https://codegenius.org/uploads/slide/image/2374/25d6ca2d-5b35-4afe-8fcc-d0c4307fc8a4.jpeg)
https://mono-pro.net/unity-codegenius-battletank-aim/aiming.zip画像ダウンロード
![26cca5ec cfbf 4ca4 abc2 4053c4deb808](https://codegenius.org/uploads/slide/image/2375/26cca5ec-cfbf-4ca4-abc2-4053c4deb808.jpeg)
![Ab51bea2 4b62 4a2e aedb f7a0d5e2adac](https://codegenius.org/uploads/slide/image/2376/ab51bea2-4b62-4a2e-aedb-f7a0d5e2adac.jpeg)
![Ba90d029 d7c5 41f3 bba1 ff4fbe9971eb](https://codegenius.org/uploads/slide/image/2377/ba90d029-d7c5-41f3-bba1-ff4fbe9971eb.jpeg)
![821eaf6e f9a2 4c94 84ef 2b9e3592d6df](https://codegenius.org/uploads/slide/image/2378/821eaf6e-f9a2-4c94-84ef-2b9e3592d6df.jpeg)
![D444995d 2d9f 42e7 b587 1b3ac04aeb9c](https://codegenius.org/uploads/slide/image/2379/d444995d-2d9f-42e7-b587-1b3ac04aeb9c.jpeg)
Rayで照準器を作る
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 追加しましょう(ポイント)
using UnityEngine.UI;
public class Aim : MonoBehaviour
{
public Image aimImage;
void Update()
{
// レーザー(ray)を飛ばす「起点」と「方向」
Ray ray = new Ray(transform.position, transform.forward);
// rayのあたり判定の情報を入れる箱を作る。
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 60))
{
string hitName = hit.transform.gameObject.tag;
if (hitName == "Enemy")
{
// 照準器の色を「赤」に変える(色は自由に変更してください。)
aimImage.color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
}
else
{
// 照準器の色を「水色」(色は自由に変更してください。)
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
else
{
// 照準器の色を「水色」(色は自由に変更してください。)
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
}
![B2dd2b8e 61fe 4b8b ba12 5b0f2c51e182](https://codegenius.org/uploads/slide/image/2380/b2dd2b8e-61fe-4b8b-ba12-5b0f2c51e182.jpeg)
![C197386a aa8b 474e b6a3 c5607549bffe](https://codegenius.org/uploads/slide/image/2381/c197386a-aa8b-474e-b6a3-c5607549bffe.jpeg)
![225061dd fb76 42c3 93de e6b2fe003ab5](https://codegenius.org/uploads/slide/image/2382/225061dd-fb76-42c3-93de-e6b2fe003ab5.jpeg)
![2faa2b3b 4b3e 4259 b594 d4f7c3527ea5](https://codegenius.org/uploads/slide/image/2383/2faa2b3b-4b3e-4259-b594-d4f7c3527ea5.jpeg)
![C2846eba 6478 4d0a 833c ed78306601e0](https://codegenius.org/uploads/slide/image/2384/c2846eba-6478-4d0a-833c-ed78306601e0.jpeg)
![8494daa4 9c98 43a6 8460 dbb024517b8e](https://codegenius.org/uploads/slide/image/2385/8494daa4-9c98-43a6-8460-dbb024517b8e.jpeg)
![8d01dbeb 7ed7 46d0 9a5c 95810368236b](https://codegenius.org/uploads/slide/image/2386/8d01dbeb-7ed7-46d0-9a5c-95810368236b.jpeg)
![9d366b47 cbe7 4cae a11c c155041a3dfb](https://codegenius.org/uploads/slide/image/2387/9d366b47-cbe7-4cae-a11c-c155041a3dfb.jpeg)
照準器のオンオフを切り替える
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Camera mainCamera;
public Camera subCamera;
private bool mainCameraON = true;
// ★追加
public GameObject aimImage;
void Start()
{
mainCamera.enabled = true;
subCamera.enabled = false;
// ★追加
// 客観カメラの場合、照準器をオフにする。
aimImage.SetActive(false);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.C) && mainCameraON == true)
{
mainCamera.enabled = false;
subCamera.enabled = true;
mainCameraON = false;
// ★追加
// 主観カメラの場合、照準器をオンにする。
aimImage.SetActive(true);
}
else if (Input.GetKeyDown(KeyCode.C) && mainCameraON == false)
{
mainCamera.enabled = true;
subCamera.enabled = false;
mainCameraON = true;
// ★追加
// 客観カメラの場合、照準器をオフにする。
aimImage.SetActive(false);
}
}
}
![6990c34c 03a8 4be5 a2e4 e9ddcee19594](https://codegenius.org/uploads/slide/image/2388/6990c34c-03a8-4be5-a2e4-e9ddcee19594.jpeg)
![4b1add0d 6bb9 48f6 8a3e 90efc9b06d28](https://codegenius.org/uploads/slide/image/2389/4b1add0d-6bb9-48f6-8a3e-90efc9b06d28.jpeg)
![617ec213 0f63 4768 b7ac 668fe7334681](https://codegenius.org/uploads/slide/image/2390/617ec213-0f63-4768-b7ac-668fe7334681.jpeg)
![93971f36 a512 4838 bb92 4b388c528445](https://codegenius.org/uploads/slide/image/2391/93971f36-a512-4838-bb92-4b388c528445.jpeg)
![C81ba482 9856 4670 9648 d339228668b4](https://codegenius.org/uploads/slide/image/2392/c81ba482-9856-4670-9648-d339228668b4.jpeg)
![94e15cdf 548a 4996 a680 658fa3689bc1](https://codegenius.org/uploads/slide/image/2393/94e15cdf-548a-4996-a680-658fa3689bc1.jpeg)
![876db449 e739 4f80 b9b0 c1f6921eb165](https://codegenius.org/uploads/slide/image/2394/876db449-e739-4f80-b9b0-c1f6921eb165.jpeg)
![24676000 a4fb 40d5 ae40 f7966eec1e32](https://codegenius.org/uploads/slide/image/2395/24676000-a4fb-40d5-ae40-f7966eec1e32.jpeg)
レーザー光を可視化する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Aim : MonoBehaviour
{
public Image aimImage;
void Update()
{
Ray ray = new Ray(transform.position, transform.forward);
// ★★追加(レーザー光を可視化することができる)
Debug.DrawRay(transform.position, transform.forward * 30, Color.green);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 60))
{
string hitName = hit.transform.gameObject.tag;
if (hitName == "Enemy")
{
aimImage.color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
}
else
{
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
else
{
aimImage.color = new Color(0.0f, 1.0f, 1.0f, 1.0f);
}
}
}
![7a38cb59 f7d6 470d a334 1a52b0e1888c](https://codegenius.org/uploads/slide/image/2396/7a38cb59-f7d6-470d-a334-1a52b0e1888c.jpeg)
![E48cd156 d975 4870 a787 b1ba72691cff](https://codegenius.org/uploads/slide/image/2397/e48cd156-d975-4870-a787-b1ba72691cff.jpeg)
照準器を作る