Unity實(shí)現(xiàn)簡單場(chǎng)景分層移動(dòng)
本文實(shí)例為大家分享了Unity實(shí)現(xiàn)簡單場(chǎng)景分層移動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
前言
開發(fā)游戲經(jīng)常需要用到把前景、場(chǎng)景、背景等不同層級(jí)的物體進(jìn)行不同速度的移動(dòng)以實(shí)現(xiàn)真實(shí)感。
效果
云、建筑、地面、前景植被各層次場(chǎng)景分層移動(dòng)。
代碼
using UnityEngine; public class DistantView : MonoBehaviour { public GameObject follow; public float scaleOffset; public bool isHorizontal = true; public bool isVertical = true; Vector2 pos; Vector2 followPos; float offsetX; float offsetY; private void Start() { if (follow != null) followPos = follow.transform.localPosition; } void LateUpdate() { if (follow!=null) { pos = transform.localPosition; if (isHorizontal) { offsetX = (follow.transform.localPosition.x - followPos.x) * scaleOffset; pos.x += offsetX; } if (isVertical) { pos.y += offsetY; offsetY = (follow.transform.localPosition.y - followPos.y) * scaleOffset; } transform.localPosition = pos; followPos = follow.transform.localPosition; } } }
用法
將不同層級(jí)的物體放入不同的父物體下分別管理。
給每個(gè)父物體掛上腳本。
Follow為跟隨的基準(zhǔn)對(duì)象。(比如玩家,相機(jī)等)
ScaleOffset為移動(dòng)速率,1為和目標(biāo)移速一致,越小越慢,越大越快。0為不移動(dòng),負(fù)值為反向移動(dòng)。(前景可能要用到負(fù)值)
Hor和Ver為跟隨哪個(gè)軸。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#?連接本地?cái)?shù)據(jù)庫的實(shí)現(xiàn)示例
本文主要介紹了C#?連接本地?cái)?shù)據(jù)庫的實(shí)現(xiàn)示例,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03c# 實(shí)現(xiàn)計(jì)時(shí)器功能
這篇文章主要介紹了c# 實(shí)現(xiàn)計(jì)時(shí)器功能的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-12-12c# 使用計(jì)時(shí)器和觀察者模式實(shí)現(xiàn)報(bào)警推送需求
這篇文章主要介紹了c# 使用計(jì)時(shí)器和觀察者模式實(shí)現(xiàn)報(bào)警推送需求,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07.NET創(chuàng)建、刪除、復(fù)制文件夾及其子文件的實(shí)例方法
.NET創(chuàng)建、刪除、復(fù)制文件夾及其子文件的實(shí)例方法,需要的朋友可以參考一下2013-03-03