¡¡¡¤È£¤¬ÁȤ߹þ¤á¤¿¤é¡¢¼¡¤Ï¤½¤Î½èÍý¤ÎÃæ¤Ë¢¤ÎÀ߷פò¹Í¤¨¤Æ¡¢½èÍý¤òÁȤ߹þ¤ó¤Ç¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡°ìÄê¤Î³ÎΨ¤È¤¤¤¦¤Î¤Ï¡¢¤É¤Î¤è¤¦¤Ë°·¤¦¤Ù¤¤«¤ò¹Í¤¨¤Þ¤¹¡£
¤¹¤Ç¤Ë³Ø½¬¤·¤Æ¤¤¤ë½èÍý¤ÎÃ椫¤é¼ÂÁõ¤ò¤·¤Æ¤â¤è¤¤¤Ç¤¹¤·¡¢¿·¤·¤¤ÊýË¡¤ò¹Í¤¨¤Æ¤â¤è¤¤¤Ç¤¹¡£
¡¡¥Ò¥Ã¥È¡Á¥¯¥ê¥Æ¥£¥«¥ë¤Þ¤Ç¤ÎÁ´ÂΤÎή¤ì¤ò¸«¤Æ¤¤¤¯¤È¡¢¤Þ¤º¤ÏCollider¤Ë¤è¤ëÅö¤¿¤êȽÄ꤬¤¢¤ê¡¢¤½¤³¤ÇWeapon¥¿¥°¤Î¤ß¤òÅö¤¿¤ê¤È°·¤¦¤è¤¦¤Ë¤·¤Þ¤·¤¿¤Î¤Ç
¤½¤Î¤¢¤È¤Ë¥¯¥ê¥Æ¥£¥«¥ë¤¬È¯À¸¤·¤¿¤«¤É¤¦¤«¤òȽÄꤹ¤ë½èÍý¤òÄɲ䷤Ƥ¤¤¯¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤µ¤½¤¦¤Ç¤¹¤Í¡£
¡¡¤³¤³¤Ç¹Í¤¨¤Æ¤ª¤¯¤³¤È¤Ï¡¢È½Äê»þ¤Ë»ÈÍѤ¹¤ë¥¯¥ê¥Æ¥£¥«¥ë¤ÎȯÀ¸³ÎΨ¡¢¤½¤ì¤«¤é¥¯¥ê¥Æ¥£¥«¥ë»þ¤Î¹¶·âÎϤˤ«¤±¤ëÇÜΨ¤Ç¤¹¤Í¡£
¤É¤Á¤é¤âÊÑ¿ô¤ÇÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¤½¤Î¸å¡¢ÃͤòÊѹ¹¤·¤ÆÄ´À°¤¹¤ëºî¶È¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤ì¤é¤ÎÊÑ¿ô¤ÎÃͤò¡¢¤À¤ì¤¬´ÉÍý¤¹¤ë¤Î¤«¤¬ÂçÀÚ¤ÊÀß·×Í×ÁǤˤʤê¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢Å¨ÍѤΥ¯¥é¥¹¤Ë¤³¤ì¤é¤ÎÊÑ¿ô¤òÍÑ°Õ¤¹¤ë¤³¤È¤Ë¤Ê¤ì¤Ð¡¢Å¨¤´¤È¤ËȯÀ¸³ÎΨ¤ä¥¯¥ê¥Æ¥£¥«¥ë¤ÎÇÜΨ¤òÀßÄꤷ¤Æ¤¤¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¥ã¥é¤Î¥¯¥é¥¹¤ËÊÑ¿ô¤òÍÑ°Õ¤¹¤ì¤Ð¡¢¥¥ã¥é¤´¤È¤ËȯÀ¸³ÎΨ¤ä¥¯¥ê¥Æ¥£¥«¥ë¤ÎÇÜΨ¤òÀßÄꤷ¤Æ¤¤¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
º£²ó¤ÏÉð´ï¤Ë¤â¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¤«¤é¡¢¤½¤Á¤é¤ËÍÑ°Õ¤¹¤ì¤Ð¡¢Éð´ï¤´¤È¤ËȯÀ¸³ÎΨ¤ä¥¯¥ê¥Æ¥£¥«¥ë¤ÎÇÜΨ¤òÀßÄꤷ¤Æ¤¤¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤É¤ì¤òºÎÍѤ·¤Æ¤â¤è¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢°ìĹ°ìû¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£¤´¼«Ê¬¤Î¹Í¤¨¤Ë¨¤·¤¿ÆâÍƤÇÀ߷פò³ÎÄꤷ¡¢¼ÂÁõ¤ò¤·¤Þ¤·¤ç¤¦¡£
º£²ó¤ÏŨ¤Î¥¯¥é¥¹¤Ëpublic¤ÊÊÑ¿ô¤òÍÑ°Õ¤·¡¢¤½¤Á¤é¤ò¥¯¥ê¥Æ¥£¥«¥ë¤ÎȯÀ¸³ÎΨ¤ÈÇÜΨ¤òÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¿·¤·¤¤½èÍý¤È¤·¤Æ¡¢¥¯¥ê¥Æ¥£¥«¥ë¤ÎȽÄê¤Ë¤Ï¥á¥½¥Ã¥É¤ÎÌá¤êÃͤòÍøÍѤ¹¤ë¤è¤¦¤ËÀ߷פ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤½¤ì¤«¤é¥¯¥ê¥Æ¥£¥«¥ë»þ¤Î¹¶·âÇÜΨ¤Ç¤¹¤¬¡¢¤³¤Á¤é¤ÏFloat·¿¤ÎÊÑ¿ô¤ÇÍÑ°Õ¤ò¤·¤Þ¤¹¡£
Player¤Î¹¶·âÎϤÏInt·¿¤Ç¤¢¤ë¤¿¤á¡¢·×»»¤ò¹Ô¤¦¤È¾®¿ôÅÀ¤ÎÃͤ¬È¯À¸¤·¤Þ¤¹¤Î¤Ç¡¢¾®¿ôÅÀ¤Îü¿ô½èÍý¤¬É¬Íפˤʤê¤Þ¤¹¡£
º£²ó¤Ï¾®¿ôÅÀ¤Ï¤¹¤Ù¤ÆÀÚ¤ê¼Î¤Æ¤ò¤¹¤ë»ÅÍͤȤ·¤Þ¤¹¡£
¤½¤Î¤¿¤á¤ÎMathf·Ï¥á¥½¥Ã¥É¤È¡¢¤½¤ì¤Ëȼ¤¦·¿ÊÑ´¹¤Î½èÍý(¥¥ã¥¹¥È)¤Ë¤Ä¤¤¤Æ¤âºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤Ê¤ª¡¢º£¸å¤Ï°Ê²¼¤Î»ÅÍͤ¬¼ÂÁõͽÄê¤È¤·¤Þ¤¹¤Î¤Ç¡¢¤è¤±¤ì¤Ð¤½¤ì¤âǰƬ¤ËÃÖ¤¤¤Æ¡¢¥¯¥ê¥Æ¥£¥«¥ë¤ÎÀ߷פȼÂÁõ¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¡¡¦Éð´ï¤Î¥¯¥é¥¹¤Ë¡ÖÂÇ·â¡×¡Ö»ÉÆ͡פʤɤΡ¢Éð´ï¤Î·Á¾õ¤Ë¤è¤ë°À¤òÊÑ¿ô¤È¤·¤Æ»ý¤¿¤»¤¿¤¤¤³¤È
¡¡¡¦Å¨¤Î¥¯¥é¥¹¤Ë¤âƱ¤¸Ê¬Îà¤Î°À¤òÊÑ¿ô¤È¤·¤Æ»ý¤¿¤»¤Æ¡¢¤½¤Î°À¤ò¡Ö¼åÅÀ¡×¤È¤·¤Æ°·¤¤¤¿¤¤¤³¤È
¡¡¡¦Éð´ï¤Î°À¤ÈŨ¤Î°À¤¬Æ±¤¸¾ì¹ç¤Ë¤Ï¡¢¡Ö¼åÅÀ¡×¤ÈȽÄꤹ¤ë¤è¤¦¤Ë¤·¤¿¤¤¤³¤È
¡¡¡¦¡Ö¼åÅÀ¡×¤Î¾ì¹ç¤Ë¤Ï¡¢ÆÃÊ̤ʽèÍý¤ò¹Ô¤¦¤³¤È¡£(¥¯¥ê¥Æ¥£¥«¥ë¤Î³ÎΨ¤È¥À¥á¡¼¥¸¤ÎÇÜΨ¤¬3Çܤˤʤ롢¤Ê¤É)
¡¡
ŨÍѤΥ³¥ó¥È¥í¡¼¥é¡¼¥¯¥é¥¹¤Î¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
<= ¡Ü¥Ü¥¿¥ó¤ò²¡¤¹¤È³«¤¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Ê¤ê¤Î¼ÂÁõ¤ò¹Ô¤Ã¤¿¾å¤Ç³Îǧ¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyController : MonoBehaviour {
private string weapon = "Weapon"; // ¥¿¥°»ØÄêÍÑ
[Header("¸½ºß¤ÎHP")]
public int hp;
[Header("¥¯¥ê¥Æ¥£¥«¥ë¤ÎȯÀ¸³ÎΨ")]
public int criticalSuccessRate;
[Header("¥¯¥ê¥Æ¥£¥«¥ë»þ¤Î¹¶·âÎÏÇÜΨ")]
public float criticalMultiplier;
void Start () {
}
void Update () {
}
private void OnTriggerEnter(Collider col) {
// Weapon¥¿¥°°Ê³°¤ÏÅö¤¿¤êȽÄê¤È¤·¤ÆȽÄꤷ¤Ê¤¤
if (col.gameObject.tag != weapon) {
return;
}
¡¡¡¡¡¡¡¡// ¹¶·âÎϤؤνé´üÇÜΨ
float attackPowerRate = 1.0f;
// ¥¯¥ê¥Æ¥£¥«¥ë¤ÎȽÄê¤òÌá¤êÃͤǹԤ¦¡£True¤¬Ìá¤Ã¤Æ¤¤¿¤é¥¯¥ê¥Æ¥£¥«¥ë¤·¤¿È½Äê
if(JudgeCritialHit()){
// ¥¯¥ê¥Æ¥£¥«¥ë¤·¤¿È½Äê¤Î¾ì¹ç¡¢¹¶·âÇÜΨ¤òÊѹ¹
attackPowerRate = criticalMultiplier;
}
// AttackPower¤ò¼èÆÀ¤·¤¿¤¤¤¿¤á¡¢¤Þ¤º¤ÏWeapon¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎWeaponController¤«¤é¡¢PlayerController¤ò¼èÆÀ
PlayerController playerController = col.gameObject.GetComponent<WeaponController>().playerController;
// PlayerController¥¯¥é¥¹¤¬ÊÑ¿ô¤ËÂåÆþ¤Ç¤¤Æ¤¤¤ë¤«³Îǧ
Debug.Log(playerController);
// ºÇ½ªÅª¤Ê¹¶·âÎϤò»»½Ð(¾®¿ôÅÀ¤ÏÀÚ¤ê¼Î¤Æ)¡¡±¦ÊÕ¤ÏFloat·¿Æ±»Î¤Ç¤Î·×»»¼°¤Î¤¿¤á·×»»¤Ç¤¤ë¤¬¡¢·×»»·ë²Ì¤¬Float¤Ë¤Ê¤ë¤¿¤á¡¢¤½¤Î¤Þ¤Þ¤À¤Èº¸ÊÕ¤ÎInt·¿¤È·¿¤¬¹ç¤ï¤Ê¤¤¡£
¡¡¡¡¡¡¡¡// º¸Êդȹç¤ï¤»¤ë¤¿¤á¤Ë¡¢·×»»¸å¤ËInt·¿¤ËÌÀ¼¨Åª¤Ë·¿¤ÎÊÑ´¹¤ò¤·¤Æ¤¤¤ë(¤³¤ì¤ò¥¥ã¥¹¥È¤È¤¤¤¤¤Þ¤¹)
int damage = (int)Mathf.Floor(playerController.attackPower * attackPowerRate);
Debug.Log(damage);
// HP¤«¤édamageʬ¤À¤±¸º»»
hp -= damage;
Debug.Log("»Ä¤êHP : " + hp);
// »Ä¤êHP¤Î³Îǧ
if (hp <= 0) {
Debug.Log("Ũ¤òÅݤ·¤¿");
Destroy(this.gameObject);
}
}
/// <summary>
¡¡¡¡/// ¥¯¥ê¥Æ¥£¥«¥ë¤ÎȽÄê
¡¡¡¡/// </summary>
¡¡¡¡/// <returns></returns>
private bool JudgeCritialHit(){
// Íð¿ô¤ò£±¤Ä¼èÆÀ
int randomValue = Random.Range(0, 100);
// Íð¿ô¤È¥¯¥ê¥Æ¥£¥«¥ë¤Î³ÎΨ¤òÈæ¤Ù¡¢¥¯¥ê¥Æ¥£¥«¥ëȯÀ¸³ÎΨ¤è¤ê¤âÍð¿ô¤ÎÊý¤¬Ä㤤¤Ê¤é¥¯¥ê¥Æ¥£¥«¥ë¤·¤¿¤³¤È¤Ë¤¹¤ë
if(randomValue <= criticalSuccessRate){
Debug.Log("Critical!!");
return true;
}
return false;
}
}
¡¡¤³¤³¤Þ¤Ç¤Î¥µ¥ó¥×¥ë¼ÂÁõÆ°²è¤Ç¤¹
https://gyazo.com/e023f6f6cabfabd3e55f5ebe57d48c06
¡¡¢¨¡¡Îãʸ¤È¤·¤ÆÊÑ¿ô¤ò¿¤¯ºî¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤ò¾Êά¤·¤Æ½ñ¤±¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢Å¬µ¹¡¢¾Êά¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£