您會注意到的第一件事是複雜而令人迷惑的標題。 所以讓我解釋一下。使3D對象看起來像是面對2D空間中的一個點
我正在嘗試使用Unity在3D空間中製作2D遊戲。我使用3D角色作爲播放器。這看起來像這樣:
正如你所看到的背景(A谷歌地圖)是二維的。玩家是躺在地上的3D對象(它看起來像站着)。
這工作很好,迄今。但我希望3D角色看起來像是面對着背景地圖上的一個點擊點。
例如:
和兩個例子:
的黑圈代表輕敲的位置。所以我完全不知道是否有辦法做到這一點,或者即使它可能做到這一點。
我嘗試下面的代碼,但只有轉動我的性格上的不同軸:
Vector3 targetDir = tapped.position - transform.position;
float step = speed * Time.deltaTime;
Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, step, 0.0F);
transform.rotation = Quaternion.LookRotation(newDir);
是甚至有一種方法來實現這一目標?我目前出來的想法... 我會很高興能得到任何幫助!
只是0的目標方向的y。 – George
@DreamsOfElectricSheep感謝您的快速回答!但那不起作用。玩家總是在地面上「放置」,以創造出他將在其上行走的幻覺。當我將y設置爲零時,他突然真的站在了地上O.o – genaray
我認爲如果你切換y和z,它應該顯示這種效果。如果你的目標方向是(1,0,1),讓他面對(1,1,0)。 – yes