unity3d存儲
❶ Unity3D中如何製作存檔游戲呢存檔原理是什麼
可以用Unity自身的PlayerPrefs類來做一些簡單的數據存儲,具體用法可以參照API
如果你用C#作為腳本語言的話,還可以用一個xml文件來存儲數據
❷ 請問大神unity3d PlayerPrefs存儲在哪
在Mac OS X上PlayerPrefs存儲在~/Library/PlayerPrefs文件夾,名為unity.[company name].[proct name].plist,這里company和proct名是在Project Setting中設置的,相同的plist用於在編輯器中運行的工程和獨立模式.
在Windows獨立模式下,PlayerPrefs被存儲在注冊表的 HKCU\Software\[company name]\[proct name]鍵下,這里company和proct名是在Project Setting中設置的.
是持久本地化存儲
❸ unity3d用什麼方式存儲游戲數據比較好
如果做MMO網游,Unity一般是用來做游戲的客戶端的,游戲客戶端一般不要求巨量數據查詢,所以可能用sqlite或者xml或者json這些方式存儲數據。
而MMO的伺服器端邏輯使用伺服器或Web後端開發技術,如Python-WSGI、PHP、J2EE或用C++做獨立的服務進程,會有巨量數據查詢,縮減成本可用MySQL,也可用商用的DB2和Oracle。
❹ unity3d編輯器怎麼清除本地存儲呀
刪除資源代碼:File.Delete(path)。
Unity中只有AddComponent,沒有RemoveComponent。移除組件如果是運行中用Destroy,如果是編輯器腳本用DestroyImmediate。
銷毀資源:DestroyImmediate(component, true)。第一個參數是組件類型,後面的bool參數是是否允許銷毀資源文件。
背景:
Unity是實時3D互動內容創作和運營平台。包括游戲開發、美術、建築、汽車設計、影視在內的所有創作者,藉助Unity將創意變成現實。
Unity平台提供一整套完善的軟體解決方案,可用於創作、運營和變現任何實時互動的2D和3D內容,支持平台包括手機、平板電腦、PC、游戲主機、增強現實和虛擬現實設備。基於Unity開發的游戲和體驗月均下載量高達30億次,並且其在2019年的安裝量已超過370億次。
全平台(包括PC/主機/移動設備)所有游戲中有超過一半都是使用Unity創作的;在Apple應用商店和GooglePlay上排名最靠前的1000款游戲中,53%都是用Unity創作的。Unity提供易用實時平台,開發者可以在平台上構建各種AR和VR互動體驗。
❺ unity3D如何設計游戲存檔
可以用Unity自身的PlayerPrefs類來做一些簡單的數據存儲。具體用法可以參照API如果你用C#作為腳本語言的話。還可以用一個xml文件來存儲數據
❻ unity3d 不使用資料庫怎麼在外部存儲數據
playerprefs
❼ [干貨分享]Unity3D 深入解析Timeline編輯器
這是Timeline系列的第三篇,前兩篇分別是 Unity3D Timeline預覽 和 Unity3D Timeline工作流 。本篇將會詳細詳解Timeline編輯器的具體功能,主要分為以下幾個部分:
如果你還不熟悉timeline編輯器,強烈建議搜藏了以備不時之需。接下來還會有終篇,講Timeline結合腳本在Runtime時候的一些進階使用技巧。
在Timeline編輯器中,我們可以使用Timeline選擇器來選中一個Timeline實例來進行查看、修改或者預覽等操作。預覽按鈕(左邊紅框)用來開啟關閉Timline在場景理的預覽效果。
點擊Timeline選擇器,在彈出的菜單中會列出當前場景所有的Timeline實例,菜單中的每一項顯示Timeline資源的名字以及他所關聯的GameObject的名字。例如,GroundTimeline關聯了Ground這個GameObject,因此顯示的名字為:「GroundTimeline(Ground)」。
Timeline控制區域的按鈕用與播放Timeline實例,以及控制Timeline的播放指針。
點擊Timeline的Start按鈕,或按下Shift+<來把Timeline的播放指針移動到Timeline的開始位置。
點擊Timeline的Previous按鈕,或按下<鍵來把Timeline的播放指針移動到前一幀的位置。
點擊Timeline播放按鈕或按下空格鍵來在Timeline播放模式中預覽Timline的動畫內容。Timeline播放模式涉及下列具體的細節:
點擊Timeline的Next Frame按鈕,或者按下>鍵來把Timeline的播放指針移動到下一幀的位置。
點擊Timeline的End按鈕,或者按住Shift然後再按下>鍵,Timeline的播放指針會移動到Timeline的末尾。
激活Play Range按鈕後,把Timeline限制在指定的范圍內播放(幀或者秒,具體取決於設置)。Timeline編輯器用白色的高亮區域來顯示播放區域,拖動白色高亮標記的兩端可以調整播放的范圍。
此時,Playable Director組件中的Warp Mode屬性用於確定播放指針抵達播放范圍的末尾時的行為。需要注意的是:這里指定的播放范圍,只在Timeline編輯器窗口中有效。在Play模式下,Unity會忽略這個限制。
Timeline播放指針( 右邊的紅框 )代表了Timeline在預覽時精確時間點。Timeline播放指針的位置輸入框( 左邊紅色框里的值 )表示了當前在整個Timeline中的哪一幀或哪一秒。
要把Timeline播放指針放在特定的時間,你可以通過點擊Timeline的時間軸,也可以通過在播放指針位置的輸入框內輸入時間值然後按下回車鍵。當輸入值後,輸入的數字會根據Timeline的具體設置轉化成秒或者幀數。例如,假如Timeline的時間軸表示的是秒且每秒有30幀,那麼輸入180的時候,輸入框裡面的值會轉化成秒,同時把Timeline的播放指針移動到6:00的位置。
本小節內容主要描寫Track視圖的各種功能。
Track列表用來添加、選擇、復制、刪除、鎖定、屏蔽、重新排列組成Timeline資源的track。同時你也可以把多個track編成一個track組。
track前面的豎線的顏色表示track的類型。默認情況下,Activation track是綠色的,Animation track是藍色的,Audio track是橙色的,Control track是藍綠色的,以及Playable track是白色的。
track的綁定信息存儲在timeline實例中。而Playable Director 組件把GameObject和Timeline關聯在一起,這種關聯被認為是Timeline資源的實例化,具體請參考Timeline預覽篇。
在Timeline編輯器為我們提供了多種方法來添加track。最簡單的方法是點擊Add按鈕,然後在彈出的菜單裡面選擇要你想創建的track類型。也可以右鍵點擊Track列表的空白區域,接下來的操作和點擊Add按鈕之後一樣。
Timeline編輯器也支持把GameObject拖拽進Track列表。拖拽一個GameObject到Track列表的空白區域之後,從彈出的菜單里選擇要添加的track類型。根據所選擇的不同track類型,Timeline編輯器會根據對應track類型執行不同的操作:
通過點擊來選擇單個track,在選擇一個track的同時會反選其他的track。選中track的屬性顯示在Inspector窗口中,由於選擇的track類型不用,因此在Inspector中可以修改的屬性也會有所差別。
如果要選中相鄰的幾個track,可以在選擇第一個track之後,按住Shift然後點擊最後一個track。例如,要選擇3個相鄰的tracks,點擊第一個track,然後按住Shift後點擊第三個track。這樣就完成了3個track的選擇。
按住Command或者Control,然後點擊track來選擇不相鄰的多個track。同樣的操作也可以用於反選不同的track。
Timeline編輯器提供了下列不同的方法來復制track:
需要注意的是:復制track會復制track裡面的所有clip,blend,以及Inspector屬性。如果被復制的track有綁定GameObject,復制出來的track,binding會設置成空值。
右鍵點擊track,然後從彈出的窗口中選擇 Delete .
刪除track用來從timeline編輯器裡面移除track,這個操作會刪除track包含的所有clip,blend,以及屬性。這是一個有風險的操作,它會修改Timeline資源和影響這個資源生成的所有Timeline實例。
刪除一個Animation track同時也會從Timeline資源裡面刪除已經錄制的Infinite clips。這里需要注意一點,在Save Project之前,在Project窗口中的Timeline資源下依然會顯示已經被刪除的Infinite clip.
鎖定track用於鎖定track以及其使用的所有clip。當一個track的動畫製作完成後,為了避免誤操作導致的修改,把這個track給鎖定。鎖定後的track無法編輯,它的clip無法被選中。track上顯示的鎖的圖標,標志著當前track處於被鎖定狀態。
這里一定要注意:被鎖定的track也是可以被刪除的,所以刪除track還是要仔細看清楚啦。
屏蔽track用於關閉track里所有的clip。當你製作的Timeline實例有很多個Track的時候,屏蔽track功能可以幫助你把注意力集中在你想重點關注的track上。track顯示屏蔽圖標的,標志著當前track處於屏蔽狀態。
右鍵點擊軌道,然後在彈出界面中選擇Mute。也可以選中一個track之後按下M鍵。你可以同時屏蔽多個track,要解除屏蔽,直接點擊屏蔽的圖標就可以了。
track的渲染和動畫優先順序是從按從上至下的順序來排列的。重新排列track可以改變渲染或者動畫的優先順序。例如,Track列表包含兩個Animation track,用於使GameObjec產生位移動畫,第二個Track將會覆蓋第一個track的動畫。動畫優先順序很好地解釋了為什麼Animation Override tracks是作為Animation track的child track來創建的,因為如果不是child track的話,它會完全覆蓋第一個track的動畫。
要重新排列tracks,你需要先選擇1個或者多個track,然後拖動他們,直到track列表中間出現一條白線。白線標志著被拖拽的track在松開滑鼠後的目標位置。這里要注意的的是Animation Override track和它的父Animation track綁定的是同一個GameObject,重新擺列Animation Override track會把它轉換成Animation track,同時也會把綁定值設置為空。
當我們的Timeline中有很多track的時候,我們可以使用Track Group來管理它們。例如,一個Timeline資源包含和同一個GameObject交互的Animation track和一個Audio track,我們可以把這兩個track移動到為它們創建的Track group裡面。
點擊Add按鈕,然後選擇Track Group來創建一個Group。我們也可以右鍵點擊Track列表的空白區域,然後在彈出的菜單裡面選擇Track Group,一個新的Track group被添加在track列表的底部。
點擊Track Group的名字,會出現一個工字型的游標,此時輸入Track Group的新名字,然後按下回車。
選擇一個或多個track,然後拖動到Track group的上面,此時Track group顯示為高亮,松開滑鼠後,被拖動的track就會被編組到Track Group裡面去。
如果要把一個track放置到Track group中某個特定的track的前面,只需要拖動到那個特定的track上,等標志位置的白色插入線顯示後,放開即可。
Track group同時也可以包含任意數量的子group。選擇一個Track Group然後點擊Add按鈕,也可以點擊Track group名字旁邊的加號圖標,然後選擇Track Sub-Group。
點擊Track group名字旁邊的三角形圖標來隱藏Track group內的所有track。這些track並沒有被屏蔽,只是不在Timeline編輯器中顯示。要顯示它們的話,再次點擊三角形圖標就可以了。
Clip視圖是我們用來操作clip的視圖,Clip視圖中的clip必須是和track關聯的。
每一個clip下有一條線用來顯示track的類型。默認情況下,Activation clip為綠色,Animation clip為藍色,Audio clip為橙色,Control clip是藍綠色的,Playable clip是白色的。
使用下面的方法來平移、縮放、以及讓Clip的大小自適應Clips視圖:
同樣,Timeline編輯器根據track的類型,支持多種不同的創建Clip的方法。最快的方法是點擊Track的空白區域,在菜單里選擇「Add ……」來創建。根據不同的track類型。,「Add ……」的選項內容有所不同。
也可以直接拖一個Animation Clip到Timeline編輯器窗口的空白區域,這會自動創建一個track,並把這個clip添加到軌道里。
通過點擊clip來進行選擇操作,選中一個clip會反選之前選擇的clip,被選中的clip會顯示一個白色邊框。選中一個clip之後,它的屬性將顯示在Inspector窗口中。你可以在Inspector窗口做一些細微的調整,具體可以調整的屬性,取決於clip的類型。
按住Shift鍵然後點擊clip用來選擇連續相鄰的clips。例如,我們要選擇連續的3個clips,點擊第一個clip,然後按住Shift鍵再點擊第三個clip,這3個clips就全部被選中了。
按住Command/Control,再點擊clip可以用選擇/反選不相鄰的clips。
點擊Clip視圖的空白區域然後拖動滑鼠會在Clips視圖裡面繪制出一個選擇矩形,和選擇矩形相交的所有Clips都講會被選中。如果在用矩形選擇的過程中按住Shift鍵,在選擇的時候不會反選之前選中的Clips。
還可以通過Timeline的播放指針來選擇Clips。右鍵點擊Timeline的播放指針,然後選擇一個選擇的選項。
選擇track,通過拖動來調整Clip的位置,在拖拽的時候,黑色的參考線顯示clip的范圍,Timeline的時間軸上顯示被調整位置的clip的開始時間和結束時間。
還可以選中clip後在Inspector窗口修改start或end的時間,也可以把一個clip移動到另外一個相同類型的track中去。
當調整一個clip的位置的時候,如果一個clip疊在了同一個track中的另外一個clip上,此時是產生blend還是overrie效果,取決於track的類型:
平鋪Clips用於移除同一個track中的兩個相鄰clip之間的縫隙、融合,以及重疊。如果你想讓每一個clip都緊接著它前一個clip開始的話,使用clip的平鋪可以非常方便實現。在平鋪clip的時候,需要在同一個track上至少選擇2個 clip。
Timeline編輯器支持下面幾種方法來復制Clips:
復制clip會拷貝選中的clip,然後把復制出的clip放在當前track的最後一個clip的後面。如果你復制的clip使用了融合,復制出的clip會消除融合,對齊放在track的末尾。
如果復制的Animation clip使用了recorded clip作為資源,那麼在復制的時候,也會在TimelineAsset裡面產生一個recorded clip的拷貝(這個拷貝在Save Project後出現在Timeline資源下)。
修剪操作非常有用,就好比是在影視後期剪輯中,只引用某些拍好的影片片段的一部分。
我們可以拖動clip的起點和終點來調整clip的長度,此時會自動選中clip,並且在Inspector 窗口顯示它的屬性。我們可以使用Inspector窗口中的來精確的設置Clip的開始、結束、clip的長度、以及偏移(Clip In)。
在Clip窗口中調整Animation Clip或者Audio clip的起點時,Start只有在clip關聯了資源之後才能被拖動。
修剪動畫的操作是安全的,可以反復修改動畫的起點來調整clip包含的動畫或者聲音的波形。為了精確的調整clip的起點所在的幀或者時間,在Inspector窗口中直接設置Clip In的值有同樣的效果。
和調整clip的起點一樣,通過調整clip的終點也可以用來裁剪出原始資源在clip中使用的部分。
如果你設置的終點超過了clip所基於的原始資源的長度,那麼clip的額外區域是處於保持還是循環,取決於資源的設置。舉個例子,名為「End Move」的clip使用了動畫文件「Recoreded(2)」。「Recorded(2)」的文件設置成的循環模式。當設置clip的終點超出了「Recorded(2)」的長度時,超出的部分,也會循環。下圖中白色曲線表示是循環模式。
通過設置資源的循環模式來設置超出區域的是保持還是循環,如果你忘記當前clip是使用的哪一個clip,可以選中clip,然後點擊右鍵,選擇 Find Source Asset ,資源被高亮顯示在Project窗口中。
timeline編輯器為循環模式的Animation clip或Audio clip提供了兩種特殊的剪切方法:1、直接刪除最後部分循環,2、補完最後的部分循環。例如run_away的長度超過了它基於的資源的三倍長度,由於資源文件的循環模式是設置成循環的,因此Animation Clip會循環播放動畫。
如果想要補完動畫結束時不完整的循環,選中Clip,然後右鍵點擊並選擇Editing->Complete Last Loop.如果要剪掉最後不完整的循環,則使用Trim Last Loop。
Timeline編輯器還支持通過播放指針的位置來剪切clip,把Timeline的編輯器指針拖到要裁剪的位置,右鍵點擊clip,然後選擇Editing > Trim Start或者Editing > Trim End。Trim Start用於把clip的起點調整到播放指針的位置。Trim End用於把Clip的終點調整到播放指針的位置。
[圖片上傳失敗...(image-e111cc-1529590146702)]
Timeline編輯器支持把一個clip拆分成兩個相同的clip,把播放指針放在Clip的中間,然後右鍵點擊Clip選擇Editing > Split(或者按下S),Clip就被分成兩個分離的clip,它們可以各自的編輯,修剪,調整在Timline中的位置。這里要注意的是,拆分Clip的操作不會修改到Clip所引用的原始資源,因此可以通過reset a clip或者手動調整clip的開頭和結尾來擴展成包含全部的動畫。
可以通過reset a clip操作把一個clip調整到其原始的長度,右鍵點擊clip然後選擇Editing-> Reset Editing。需要注意的是重置Clip並不會重置下列屬性的和設置:
修改clip的播放速度來實現動作、動畫、音效、粒子效果等的加速或者減速播放,改變clip的播放速度會影響clip的長度。在Timeline中,我們可以修改Animation,Audio,Control這三種類型的clip的播放速度,其他類型的Speed選項是無法修改的。
在Inspector窗口中,Speed Multiplier屬性顯示的是clip的原始速度的倍率。例如,把一個長度為80幀的動畫修改為兩倍速播放的話,需要把Speed Multiplier設置成2,此時該動畫的長度為40幀。
也可以通過右鍵點擊clip,然後選擇下面的方法來修改Clip的播放速度:
Gap extrapolation指的是Animation track在Animation clip的前後如何接近動畫數據。它的主要作用是在兩個Animation clip之間的間歇中間進行插值來避免動畫的異常。這種異常包括GameObject在兩個坐標間抖動或者類人形動畫在不同的兩個姿態之間抖動。每一個Animation clip 都有兩個gap extrapolation設置:pre-extrapolate和post-extrapolate.前者控制在Animation clip之前的間隙如何接近動畫數據,後者控制Animation clip後面的縫隙如何接近動畫數據。默認情況下,兩個都設置成的Hold,指的是在Animation clip之前,保持動畫數據的第一幀,在Animation clip之後保持動畫數據的最後一幀。Animation clip前後的圖標表示所選的gap extrapolation的模式。
在Clip視圖中選擇Clip,然後修改Inspector窗口中的Animation Extrapolation來修改pre-extrapolate和post-extrapolate模式。
如果被選中的Animation clip所在的track只有這個clip,那麼對於Pre-Extrapolate模式有以下可選項:
如果被選中的Animation clip所在的track只有這個clip,那麼對於Post-Extrapolate模式有以下可選項:
Ease-in和Ease-Out用於創建clip和包圍它的間隙之間的平滑過渡,選中clip,然後在Inspector 窗口中設置Ease In Duration或Ease Out Duration來創建。(在Unity的官方用戶手冊中還提到了按住Control/Command, 然後把clip的起點往右拖來創建ease-in。但是我在Unity2017.4中實這個功能,發現沒有效果,只能猜測是Unity的Bug了。)
ease-in和ease-out的具體效果取決於track的類型:
可以通過點擊下拉菜單把值從Auto修改成Manual來自定義ease-in或ease-out過渡的曲線。設置成Manual後,Inspector窗口中出曲線的預覽。點擊曲線預覽,在Inspector窗口下方會打開曲線編輯器窗口。
❽ unity3d開發的游戲怎樣實現數據存儲,多客戶端運行、通信。
實時通信就是C#+socket,http這類的在unity有自己的api,用www來get和post。
數據存儲分為本地和伺服器,網游的話大多數據肯定是存在伺服器的,怎麼存是後台的事。
本地有持久化數據存儲,也可以用類似xml這種文本的方式存儲。
具體的通信,直接看socket吧,和unity本身關系不大。