2
我試圖建立一個預製件放置在一個小行星上的場景,認爲something like this。我面臨的問題是,儘管我可以使用Control + Shift輕鬆地將預製件放置在球體上,但它們不會旋轉,因此會出現可怕的旋轉。我瞄準他們垂直放置。是否可以將預製件與表面垂直對齊?
目前我所知道的三種解決方案:
- 將使用Control +手動換擋然後在場景中的物體轉動他們入位置。
- 將像之前的場景中的對象,那麼一小段代碼添加到他們的每一個更新方法:
transform.rotation = Quaternion.FromToRotation(transform.up, transform.position - origin) * transform.rotation;
- 像選項2,運行代碼並找到某種方式給世界狀態保存到現場,但that is easier said than done。對於那些應該是微不足道的東西似乎要付出很多努力。
第一個很繁瑣,很難正確對齊,第二個很容易,但是讓你的場景製作器不能代表你的最終遊戲,我不知道從哪裏開始第三個。有沒有更好的辦法?
我也嘗試過頂點捕捉,但它並沒有垂直定向預製件。 –
這裏似乎有兩個問題:(1)你如何定位垂直於表面的物體;(2)如何在編輯器中實現這一點,以便在已完成的情況下生成已保存的場景。是對的嗎?問題1或2給你更多麻煩? – rutter
您可以嘗試將[ExecuteInEditMode]標頭添加到您的班級。這將使你的更新代碼在編輯模式下運行。另一種方法是創建一個編輯器腳本,但這是一個更多的工作 –