日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

unity fixedupdate_3D俯视角射击——用Unity还原东方弹幕(上)

發布時間:2024/4/19 编程问答 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unity fixedupdate_3D俯视角射击——用Unity还原东方弹幕(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

之前我們的專欄中介紹過2D的俯視角射擊,這次就來試試在3D場景下的實現。移動射擊的實現方法差不多,所以本次的主要目標是在3D場景下還原東方的符卡(彈幕)效果。

我們先來看看最終結果:

可配置的彈幕樣式

本文主要內容:

1. 3D場景俯視角射擊

2. 可配置化彈幕

3. 還原東方彈幕

注:為了提升表現效果而使用的模型動畫、屏幕后效(PostProcessing)等方法不在本次教程范圍內。同時本文只寫出了部分關鍵代碼,完整項目下載詳見本文末尾。

一、3D場景俯視角移動

實現目標:鍵盤移動,鼠標射擊。不射擊時面向移動方向,射擊時面向射擊方向,轉向有轉向速度,射擊方向為鼠標點擊方向。

在之前2D俯視角射擊中已經介紹過移動的方法,這里就不再贅述,想要了解的同學可參考:

Yumir:【反向元氣騎士】用unity實現俯視角射擊是一種怎樣的體驗?zhuanlan.zhihu.com

當然3D人物轉向應需要轉向速度,否則會顯得很突兀,可用 Quaternion.LookRotation控制轉向, Quaternion.Slerp控制轉向速度。

二、彈幕可配置化

實現目標:通過修改Inspector面板中的參數,即可實現簡單的彈幕樣式。

本次主要實現兩種彈幕樣式,散射彈幕和平行彈幕。實現這兩種樣式需要的參數(BulletData)如下。

public

首先創建個球體作為子彈預制體,OnEnable時,在FixedUpdate實現移動,當規定了子彈的位置和方向,子彈就會朝著正前方移動。

transform

然后是通過設定的參數實現彈幕樣式:散射彈幕,如下圖所示,以角色正前方為初始方向,當單次彈幕數量為奇數或是偶數時,子彈旋轉角度的邏輯是不一樣的。

奇數時,角色正前方會發射子彈,左右兩側的子彈角度為角色(當前角度+-旋轉角度)

偶數時,角色正前方不會有子彈,左右兩側的子彈角度為(當前角度+-旋轉角度/2)

同理平行彈幕也不相同,下面給出代碼,其實就是一個簡單的數學運算。

int

代碼中使用到了對象池相關知識,在本專欄之前文章中有詳細介紹過對象池,詳情可見:

陳虹松:【Unity】工具類系列教程——對象池!?zhuanlan.zhihu.com

控制射擊間隔時間可以用協程的方式達成,我這里用了一個偷懶的方法:因為在FixedUpdate中每秒是固定運行50次(可在Project Setting中修改),所以在FixedUpdate中可以用i++來控制時間

if

三、還原彈幕效果

1.波與粒的境界

用簡單的函數繪制成優美的彈幕,在文章開頭大家應該已經看到了所實現的效果,這里再放上一張對比圖。

新建個空物體用來發射彈幕,除了之前提到的彈幕所需參數外,還需要

public

實現其實非常簡單,每次發射5發子彈,角度間隔為360/5°,然后發射子彈的物體每幀進行越來越快的旋轉,彈幕就能形成上面的效果。

SelfRotation

附上具體參數

2.怨靈貓亂步

可以看到子彈是從11個不同位置生成,每次生成4圈彈幕,每圈彈幕角度隨機,經過一定時間后才開始移動。

子彈的延時還是通過記錄一個DelayI來實現。

void

同時還需要一個與發射中心距離的參數

public

修改子彈位置到中心點前方

go

來看看效果

詳細參數可以下載本文末尾的項目自行查看。想要完美還原的話,剩下的就是將發射物體移動到指定位置、調整延遲時間等,可以使用Dotween等方式實現,本次就不再進行展示了。

由于篇幅原因本次只展示了這么多,有興趣的同學可以自己嘗試去實現其他符卡。

最后不要忘了這是在3D場景下的彈幕,所以這樣也是能做到的。

工程地址:https://pan.baidu.com/s/1JEXp9FsNswaihwSBkiHs-Q

提取碼:mpik

對游戲開發學習感興趣的盆友,歡迎訪問:http://levelpp.com/

同時,也歡迎加入游戲開發群攪基:610475807

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的unity fixedupdate_3D俯视角射击——用Unity还原东方弹幕(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。