2014-02-20 34 views
0

我正在創建一個項目,其中我有一個具有空的遊戲對象作爲孩子的球體GameObject。一個線渲染器組件被附加到這個空的遊戲對象。統一 - 不斷改變遊戲對象的前進方向?

我已經使球體看觸摸方向,以便子對象的線渲染器也面向觸摸位置。當球體在一個軸上旋轉時,它工作正常。

但是,當我對球體施加一個力並且它開始在所有軸上旋轉時就像普通球一樣旋轉。但是貼在它上面的線條渲染器粘在它的臉上,當球面朝下時,線條渲染器會進入地面。

線渲染器的代碼。

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; 

    } 

我希望線渲染器始終與地面平行,但始於球體或球面。我嘗試了很多東西。但還沒有找到解決辦法。

所以請幫助。謝謝你

+0

用你試過的東西發佈一些代碼,它會使我們更容易回答你的問題。 –

+0

@StevenMills我編輯了我的問題。請看一下。 –

回答

0

你的問題似乎有點令人困惑,但似乎你想要一個球圍繞一條線旋轉。球根據自己的意願旋轉,並且線路保持相對於球而不旋轉。

如果這是正確的。我建議有兩個對象。球,然後是一個空/ invis對象。球旋轉並移動,並通過移動將空物體移動,不旋轉。將線渲染器放置在空對象上,並且層次結構中的可見對象是球的父對象。移動與球物理和巴姆滾球空對象,響應觸摸。

對不起,如果我不好解釋。如果你不知道你在什麼時候陪伴他們,他們一起移動。

相關問題