개발일기
유니티#20.5 총 본문

빵야빵야
// Assets/Scripts/PlayerSystemManager/InventorySystem/ItemUsingController.cs
public class ItemUsingController : MonoBehaviour
{
void Shoot(Item item)
{
Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
mouseWorldPos.z = 0f;
Vector3 direction = (mouseWorldPos - throwOrigin.position).normalized;
Vector3 endPoint = throwOrigin.position + direction * maxDistance;
// ▶️ 새로운 GameObject 생성
GameObject lineObj = new GameObject("BulletTrail");
LineRenderer lr = lineObj.AddComponent<LineRenderer>();
lr.positionCount = 2;
lr.SetPosition(0, throwOrigin.position);
lr.SetPosition(1, endPoint);
// ▶️ 머티리얼 설정 (투명도 지원하는 걸 써야 함)
lr.material = new Material(Shader.Find("Sprites/Default")); // 또는 Unlit/Transparent
lr.startWidth = 0.05f;
lr.endWidth = 0.05f;
Color trailColor = new Color(1f, 1f, 1f, 1f); // White, full alpha
lr.startColor = trailColor;
lr.endColor = trailColor;
lr.sortingOrder = 10; // 필요 시
StartCoroutine(FadeAndDestroy(lr, lineObj));
}
IEnumerator FadeAndDestroy(LineRenderer lr, GameObject obj)
{
float duration = 0.2f;
float elapsed = 0f;
while (elapsed < duration)
{
elapsed += Time.deltaTime;
float alpha = Mathf.Lerp(1f, 0f, elapsed / duration);
Color c = new Color(1f, 1f, 1f, alpha);
lr.startColor = c;
lr.endColor = c;
yield return null;
}
Destroy(obj);
}
}
+ 컴포넌트 구분을 생활화 하자

'Unity' 카테고리의 다른 글
| 유니티#22 잡다한 것들 (0) | 2025.05.22 |
|---|---|
| 유니티#21 와 맛있다 PlayerInput, Physics Material 2D, Effect (0) | 2025.05.20 |
| 유니티#20 인벤토리 UI, 클릭 핸들러 (0) | 2025.05.02 |
| 유니티#19 인벤토리, 퀵슬롯, 아이템 시스템 제작 (0) | 2025.04.30 |
| 유니티#18 Rigidbody2D 아이템 줍기 구현 (1) | 2025.04.29 |
