var dir = m_target.position - transform.position
eye.transform.localposition = transform.InverseTransformDirection(dir.normalized);
수박게임 구현중 아래 사이트처럼 클릭한 곳을 바라보게 만들고 싶었다.
위의 코드를 이용해 만들 수 있었다
https://poki.com/kr/g/kawaii-fruits-3d
KAWAII FRUITS 3D - 무료로 온라인 게임을 플레이하세요! | Poki (포키)
무료 온라인 게임의 가장 인기 있는 웹사이트에서 Kawaii Fruits 3D을(를) 플레이하세요! Poki (포키)은(는) 모바일, 태블릿 또는 컴퓨터에서 작동합니다. 다운로드도 로그인도 필요 없습니다. 지금 플
poki.com
private void OnMouseDown()
{
m_isDragging = true;
if (m_isGameOver) return;
for (int i = 0; i < m_container.childCount; i++)
{
m_container.GetChild(i).GetComponent<KirbyFace>()?.SetTarget(m_dropPoint);
}
}
public void OnMouseUp()
{
if (m_kirby != null && !m_isGameOver)
{
m_kirby.transform.SetParent(m_container);
m_kirby.StartPhysics();
m_dropEvent.Invoke();
m_kirby = null;
}
for (int i = 0; i < m_container.childCount; i++)
{
m_container.GetChild(i).GetComponent<KirbyFace>()?.ClearTarget();
}
m_isDragging = false;
}
using UnityEngine;
using static UnityEngine.GraphicsBuffer;
public class KirbyFace : MonoBehaviour
{
Transform face;
[SerializeField] float maxOffset = 0.7f;
[SerializeField] float moveSpeed = 7f;
Vector3 velocity = Vector3.zero;
Transform m_target = null;
private void Start()
{
face = transform.GetChild(1);
}
void Update()
{
if (m_target != null)
{
Vector3 worldDir = (m_target.position - transform.position).normalized;
Vector3 localDir = transform.InverseTransformDirection(worldDir);
Vector3 targetLocalPos = localDir * maxOffset;
face.localPosition = Vector3.SmoothDamp(face.localPosition, targetLocalPos, ref velocity, 1f / moveSpeed);
}
else
{
// 타겟 없으면 제자리 복귀
face.localPosition = Vector3.SmoothDamp(face.localPosition, Vector3.zero, ref velocity, 1f / moveSpeed);
}
}
public void SetTarget(Transform target)
{
m_target = target;
}
public void ClearTarget()
{
m_target = null;
}
}
바빠서 대충 씀
728x90
반응형
'공부 > Unity' 카테고리의 다른 글
[Unity] 00:00으로 늘어나는 시간 표현하기 (0) | 2025.06.02 |
---|---|
[Unity] Update vs FixedUpdate / GetAxis vs GetAxisRaw (0) | 2025.06.02 |
[Unity] 물리 2D (0) | 2025.05.29 |
[Unity] 일정 시간내에 캐릭터를 많이 클릭하는 게임 (2) | 2025.05.27 |
[Unity] Rect Transform / Rolling number text yu(슬롯머신 스타일 텍스트 애니메이션) - RectMask2D 이용 / Lerp (0) | 2025.05.26 |