一.自動門的製作
首先將門模型掛載在乙個空物體下,模型需要掛載乙個collider,使門具有物理屬性,玩家不能穿過,這個collider不能掛載到空物體上,它需要能隨著門一起移動,接下來通過動畫或者指令碼實現門的開合。在掛載了模型的空物體上新增乙個collider元件,一般是球形碰撞器,設定為trigger型別,用於檢測玩家是否走入門的範圍。
privatevoid
ontriggerenter(collider other)
private
void
ontriggerexit(collider other)
使用乙個計數器count記錄走入的門碰撞體內的玩家數目。
privatevoid
update()
else
if (anim.isintransition(0) && !dooraudio.isplaying)
}
publicaudioclip video_pickup;
private
void
ontriggerenter(collider other)
}
三.簡單的鏡頭跟隨
通過保持鏡頭和玩家的偏移不變使鏡頭始終跟隨玩家。
//記錄鏡頭的偏移
private
vector3 offset;
//鏡頭的跟隨物件
public
transform player;
private
void
start()
private
void
update()
四.解決視野的盲區
鏡頭跟隨的情況下可能產生視角的盲區,因此可以通過射線檢測得到鏡頭乙個合適位置。
首先修改偏移量計算方式,這樣設定計算攝像機的合適位置更簡單一些。
//初始化偏移量
offset = transform.position - player.position;
然後計算並設定鏡頭的位置
//////檢測得到合適的鏡頭位置,並採用插值運算的方式設定好鏡頭的位置
/// private
void
setcameratransform()
;//倒序遍歷陣列,記錄下可能的攝像機位置
for(int i = 4;i >= 0;i--)
//如果射線第乙個遇到的碰撞體是玩家,則這個位置為可用的位置,找到了合適的位置就可以也必須直接結束迴圈了
else
}//意外情況下,射線未檢測到任何碰撞體,還是將當前位置作為合適的位置
else
}//通過插值使攝像機平滑運動到合適的位置
transform.position = vector3.slerp(transform.position, suitableposition, time.deltatime *cameramovespeed);
//攝像機也需要望向玩家,通過插值運算使攝像機平滑旋轉
quaternion nowrotation =transform.rotation;
transform.lookat(player.position);
transform.rotation =quaternion.slerp(nowrotation, transform.rotation, time.deltatime);
}
最後在update中呼叫這個方法
privatevoid
update()
課程總結 2023年12月18日
不知不覺第二週的課程也已經結束了,不得不說這兩周來確實是過得比較充實,這週從軟測知識基礎開始到測試設計,不論是理論還是實踐方面都學了不少東西,結果上來說的話,還需要反覆複習和更多的練習,才能較為熟練地掌握比較規範的測試方法。同樣的,先回顧一下18號當天的學習內容。新知識的話主要是和測試用例有關的方方...
課程總結 2023年12月17日
這個編輯器還挺方便的,一拉就進來了!好!那麼就開始更新今天的課程小結!接著昨天設計測試的內容,今天是繼續學習了場景設計法 判定表法和錯誤猜測法三種測試方法。首先是場景設計法,場景設計法的基本思想是將使用者一系列的操作事件觸發情景的場景做乙個模擬,在此基礎上進一步設想同一事件的不同觸發順序和處理結果形...
課程總結 2023年12月21日
新的一周開始了,而且正好還是冬至日,今天大家吃餃子 湯圓了嗎?好的,那麼今天也直接進入正題吧。本週開始了新章節,也就是軟體測試過程的學習,軟體測試的過程涵蓋的內容比我想的要多得多了,對軟測來說,相當大一部分 事業性 內容應該就是聚集在了這一塊吧。首先的話是對軟體生命週期做了乙個更為詳細的回顧,三大板...