빈 게임 개체를 자식으로 가지고있는 구형 GameObject가있는 프로젝트를 만들고 있습니다. 라인 렌더러 컴포넌트는이 빈 게임 객체에 첨부됩니다.Unity - 게임 개체의 진행 방향을 계속 변경합니까?
나는 터치 영역을 볼 구형으로 만들었으므로 자식 객체의 라인 렌더러도 터치 위치를 향하게됩니다. 구가 한 축에서 회전 할 때 잘 동작합니다.
하지만 구형에 힘을 가하면 일반 볼처럼 모든 축에서 회전하기 시작할 때 문제가 발생합니다. 그러나 그것에 부착 된 라인 렌더러는 그면에 달라 붙어 있으며, 구가 아래를 향하면 라인 렌더러가 땅에 들어갑니다.
라인 렌더러 코드.
using UnityEngine;
using System.Collections;
public class LineRenderer : MonoBehaviour {
private LineRenderer lineRenderer;
private Vector3 finalTouchPosition;
// Use this for initialization
void Start() {
lineRenderer = gameObject.GetComponent<LineRenderer>();
}
// Update is called once per frame
void Update() {
Ray ray = new Ray (transform.position, transform.forward);
RaycastHit hit;
lineRenderer.SetPosition (0, ray.origin);
if (Physics.Raycast (ray, out hit)) {
lineRenderer.SetPosition (1, hit.point);
}
}
} 터치로 객체를 회전
코드입니다.
if(theTouch.phase == TouchPhase.Moved)
{
Vector3 tempTouch = new Vector3(theTouch.position.x ,theTouch.position.y, myCamera.position.y - targetObject.transform.position.y);
fingerPosition = Camera.main.ScreenToWorldPoint(tempTouch);
targetObject.transform.LookAt(fingerPosition);
isRotating = true;
}
라인 렌더러가 항상지면과 평행하지만 구면 또는 구면에서 시작되기를 원합니다. 나는 많은 것을 시도했다. 그러나 여전히 해결책을 찾지 못했습니다.
제발 도와주세요. 고마워요
시도한 내용으로 일부 코드를 게시하면 질문에 대한 답변이 조금 더 쉽게됩니다. –
@StevenMills 제 질문을 수정했습니다. 이것을 봐주세요. –