Unity在地球上放置物體時使物體垂直於地面

2021-10-21 11:24:39 字數 588 閱讀 7291

向量a:地心指向地面點p的向量

向量b:地球正北方向的向量(這裡為向上)

向量c:垂直於向量a和向量b所在平面的向量

vector3 a = pointp - myplanet.ins.transform.position;

vector3 b = myplanet.ins.transform.up;

vector3 c= vector3.cross(a, b);

man.transform.rotation = quaternion.angleaxis(-90.0f, c) * quaternion.lookrotation(-a, b);

要讓人垂直地面並面向正北方向,需要兩步:

1.呼叫 quaternion.lookrotation實現人看向地心,頭朝北。

1.將人繞向量c旋轉90度

Unity 在UI上顯示特效Or物體(無背景)

一般的方法 是建立乙個render texture 掛在指定相機和要顯示的ui上,會像下圖一樣有黑色背景 視覺效果很不好 解決辦法 保留建立的render texture 1.建立乙個shader no alpha shader default no alpha color tint color 1...

Unity學習筆記(2) 如何使物體消失

unity使物體消失的三種方法 gameobject.destroy gameobjcet 在下一幀破壞物體 gameobject.setactive false unity2017新api,使用該方法設定物體是否存在於hierarchy,active的新名稱為activeself,無法直接修改,可...

unity 判斷物體是否在螢幕內

方法一 使用unity系統函式 onbecamevisible 和 onbecameinvisible 物體在螢幕內 void onbecamevisible 物體在螢幕外 void onbecameinvisible 注意 物體只要有一部分在螢幕內onbecamevisible都會執行,只有物體完...