Unity3dずいく぀かの神話を払拭

最近、HabréのUnity3dに関する別の蚘事を読みたしたが、興味深いコメントがありたした-読み曞きの䞡方、たったく同じではありたせん。

私はむンスピレヌションを受け、䜕が起こっおいるかに぀いお少しコメントするこずにしたした。

ここで誰かが自分自身のために新しくお面癜いものを描いおくれるこずを願っおいたす。



いく぀かのコメント


蚘事のこのセクションはコメントのコメントです-匕甚笊で囲たれたテキストは私のものではありたせん。



「クラむアントでのアセットのキャッシュのサポヌトは非​​垞に高額で販売されおいたすこれはブラりザではなく、ディスクで個別に販売されおいたす。」



3.2にはすべおのナヌザヌ向けのキャッシュがありたすもちろん制限がありたす。



「著者は、2぀の非垞に深刻な問題を慎重に省略したした。

-Unityのゲヌムには倧量のトラフィックが必芁です。

「耇雑でダむナミックなシヌンは䜿甚できたせん。」

「Unityのゲヌムには基本的なゲヌムメカニズムがありたす。耇数のプレむダヌずの難しい戊いは非垞に遅くなりたす。」

「困難な戊いによっお、私は数人のプレヌダヌの共同ゲヌムを意味したした。 Unityでは、これがボトルネックです。 この瞬間は省略できないため、 珟代のゲヌムの䞻な芁件は、高床な瀟亀性です。 プレむダヌは友達ずゲヌムをプレむしたい。 Unityの゜ヌシャルネットワヌクには実質的にゲヌムがないこずに泚意しおください。



゜ヌシャルネットワヌク䞊のほずんどのゲヌムには非同期操䜜がありたす。 ぀たり Petyaが倧孊にいたずき、私は来おベッドを壊したした-Petyaは家に垰り、圌の連絡先ペヌゞに行き、怒っお、庭で私にアベンゞャヌのチヌムを送りたした。 そしおもちろん、攻撃の時点では、私は盎接Petyaず察話しおいたせん。 「耇数のプレヌダヌの共同ゲヌムがUnityのボトルネック」ずいうフレヌズは、特に1぀の郚屋にいる非垞に少数のプレヌダヌに぀いお、たたはサヌドパヌティのネットワヌク゜リュヌションに぀いお語る堎合に、軜床で無䜜法に聞こえたす。



「そしおその結果

-亀通量の少ない人向けのUnityゲヌムは悪倢に倉わり、

「Unityゲヌムには基本的なゲヌムメカニクスがありたす-耇数のプレむダヌずの難しい戊いは非垞に遅くなりたす。」



䞀般に、Webプレヌダヌの最小アプリケヌションの重さは500kbを少し䞊回り、远加のリ゜ヌスはAsset Bundles7zにパッケヌゞ化されおいたすでダりンロヌドできたす。 ゲヌムメッセヌゞの亀換から生じるトラフィックに぀いお具䜓的に説明しおいる堎合、ネットワヌク甚に遞択した゜リュヌションが再び圹割を果たしたす。



「団結は良いが、曞くこずを急ぐ前に、2぀のマむナスに぀いお考えなさい

1ZDは䞇胜薬ではないため、慎重に䜿甚する必芁がありたす。 トップのアプリストアを芋おください-ほずんどが2Dゲヌムです。 数億人がプレむする゜ヌシャルゲヌムを芋おください。3Dはありたせん。 本圓に3Dを必芁ずするゲヌムメカニックはごく少数です。

23Dでゞュヌシヌで魅力的なグラフィックスを䜜成するこずは、2Dよりもはるかに難しく、専門家だけが行うこずができたす。 ファンず初心者は、恐怖ず恐怖を匕き起こす3D画像を䜜成したす...」



Unityで2Dゲヌムを玠晎らしく䜜成できるずいう事実には明らかに誀解がありたす。 これは、アプリ内の倚くの開発者が行うこずですちなみに、ゲヌムの特定の割合は、トップ100にありたした。



「Unityは組み蟌みのシェヌダヌ゚ディタヌである照明を延期したした。」



小さな間違い。 デフォルトでは、このようなツヌルは提䟛されおいたせんが、高品質の無料ツヌルであるStrumpy Shader Editorず有料のシェヌダヌ゚ディタヌShaderFusionがありたす。 3.xでのシェヌディングは開発者に向けお䞀歩進んだためサヌフェスシェヌダヌが衚瀺されたす、独自のシェヌダヌをビゞュアル゚ディタヌなしで曞くこずは信じられないように思えたせん。 シェヌダヌの移怍は䞀般的に優れおいたすたずえば、 ここから簡単に䜕かを取り出しおナニット甚にリメむクできたす。



「圌[Unity3d]は閉じおいたす。 ぀たり ラむセンスがあっおも゜ヌスコヌドは提䟛されたせん。」



非垞に真面目な開発者であれば、゜ヌスコヌドを賌入できたすただし、゜ヌス䟡栌は100kから始たりたすが、これらの゜ヌスが必芁になるずいう非垞に幻想的な可胜性もありたす。



たた、ラむセンスUnity PROに぀いお話しおいる堎合は1,500ドルに぀いおは、幎に数回、通垞は20の割匕がありたす。 基本バヌゞョンUnityが0ドル、Unity iPhoneが400ドルの制限はそれほど倧きくはありたせん。かなりの数のプロゞェクトを開発できたす。



「Unity for Android / iOSを詊した人はいたすか 印象はどうですか」



印象は玠晎らしいです。

最近、たずえば、クアルコムから拡匵珟実アプリケヌションKvalkomovsky Unity SDKを䜿甚できたすを䜜成するためのコンテストが開催され、賞金はそれぞれ1䜍、2䜍、3䜍で125、5䞇、2侇5000ドルでした。

䞡方のプラットフォヌム開発者は、積極的に完成ず最適化を進めおいたす。

匷力な携垯電話では、Open GL ES 2.0がサポヌトされおいたすピクセルごずの照明、シェヌダヌ。これは、私の意芋では優れおいたす。 Epic Citadelに䌌た品質のものを詊すこずができたす。



もう少し考え


私が玙に自分の考えを曞いおいる間に、同じ著者からUnityトピックに関する新しい蚘事が登堎したした 著者はよくできたした。



「3DS Maxでアヌティストに真剣なシヌンを提䟛する方が䟿利です。」 唯䞀の悪い点は、FBXmaxずunityの䞭間圢匏からUnityが光源をむンポヌトしないこずです。 C ++でUnityにプラグむンを䜜成する必芁がありたした。 そしお、これは有料版でのみ利甚可胜です。 Vobschemはこの゚ンゞンで苊しみたした。」



光源が通垞ダミヌゲヌムオブゞェクトの圢匏でナニットに転送される堎合、なぜC ++でプラグむンを蚘述する必芁があったのか教えおください。 光源に正しく名前を付け、ナニットを䜿甚しおモデルをむンポヌトするずきにこれらの光源を䜜成する小さなスクリプトを蚘述する方法に぀いお、アヌティストに同意するこずができたす。 ナニット内のレベルのアセンブリず3Dパッケヌゞ内のレベルのアセンブリの䞡方に長所ず短所がありたす-私の意芋では、遞択は開発者の奜みに䟝存したす。



「おそらく、Minecraftの実装をブラックゞャックで取り䞊げるこずは䟡倀がありたす。すべおの可胜性がそこにあるようです。」



それが圹立぀堎合は、 Unity Minecraft Starter Packageがありたす。



ネットワヌク


圌らは、Unity3dのネットワヌクには問題があり、゚ンゞンは倚数の接続に適しおいないず蚀いたす。 実際、すべおがよりシンプルです-そしお、圌らが蚀っおいるこずを知っおいる人は、組み蟌みのネットワヌクを念頭に眮いおいたす。 組み蟌みの゜リュヌションの代わりに、ほずんど䜕でも䜿甚できるためです。



Unity3dを䜿甚するために特別に準備されたAPIを䜿甚したネットワヌク゜リュヌション

  1. Smartfox
  2. 光子
  3. バドゥムナ 。
  4. ゚レクトロサヌバヌ 。


あなた自身を台無しにするこずができるネットワヌク゜リュヌション

  1. オリゞナルのRaknet c ++、Webプレヌダヌには適しおいたせん。
  2. リドグレン
  3. レッドワヌフ
  4. NetDog c ++、Webプレヌダヌには適しおいたせん。たた、ある皮の非垞にクレむゞヌな倀札がありたす。


䞀郚の゜リュヌションは無料で、䞀郚はたったく高䟡ではありたせん。たた、接続数に制限のある無料バヌゞョンも提䟛したすたずえば、Photonの堎合は100-他のナヌザヌの堎合は、正盎蚀っお興味がありたせんでした。



圓然、任意のテクノロゞc ++、Java、Erlang、cなどで独自の䜕かを蚘述し、他の既存のネットワヌク゜リュヌションを固定できたす。 TCP \ UDPに基づくものは問題なく動䜜したす。 HTTPプロトコルを䜿甚しお䜜業する堎合、最も䞀般的な遞択肢はphpです。ただし、ご存じのように、同じErlangたたは他の䜕かが実行されたす。



私は個人的に簡単なチャットを行いたしたこれを成果ずしお䜍眮付けおいたせんが、ステップ3の結果は私を幞せにしたした。

  1. サヌバヌ偎のErlangおよびMisultin Web サヌバヌ 。
  2. Unity3dずクラむアント偎のWWWクラス。
  3. iPadずiPhoneUnity iPhone Basic、HTC DesireUnity Androidトラむアル、PCずMacWebプレヌダヌ、Unityの無料版のさたざたな皮類のデバむス-これらはすべお玠晎らしく連携し、メッセヌゞを亀換したした。


最適化


Unityでの開発䞭の最適化に぀いお話す堎合、䞻なポむントは次のずおりです。

  1. ドロヌコヌルが少なければ少ないほど良いですただし、これは䞇胜薬ではありたせん。 以前は、ゞオメトリを1぀のメッシュCombineChildrenに結合する特別なスクリプトず戊い、骚のあるunningなデザむンを収集したしたたずえば、1぀のスキンメッシュ、8぀のボヌン-アニメヌションを備えた8぀の独立したスプラむト、このアプロヌチは、たずえば、トップiOSゲヌムで䜿甚されたしたナニットのゟンビビル。 珟圚、開発者は、静的バッチ凊理、動的バッチ凊理、およびUmbra非衚瀺のサヌフェスクリッピングシステム\オクルヌゞョンカリングによっお支揎されおいたす。
  2. 必芁がなければ、Find \ GetComponentおよび同様のメ゜ッドを䜿甚しないこずをお勧めしたす-可胜な限り、スクリプトの実行時にコンポヌネントぞのリンクを䞀床保存​​するこずをお勧めしたす。
  3. OnGUI()



    内で䞍芁な蚈算を実行せず、䞀床に耇数のOnGUI()



    を䜿甚しないこずをおOnGUI()



    たす。
  4. Fillrateなどのパラメヌタを監芖する必芁がありたす。 半透明の玠材を䜿甚したいく぀かのフルサむズの飛行機は、iPadのようなものは蚀うたでもなく、PCのパフォヌマンスを著しく䜎䞋させる可胜性がありたす。


もちろん、これはほんの数点であり、それによっおパフォヌマンスを獲埗できたす。



すくい


旅の始めに初心者デベロッパヌを埅぀最初の熊手やあいたいな瞬間を少し歩くこずができたす。

  1. 他の゚ンゞンで倚く䜿甚されおいるように、統䞀では「ゲヌムルヌプ」や単䞀の゚ントリポむントはありたせん。 ぀たり 誰もそのようなこずを気にするこずはありたせんが、原則はデフォルトで動䜜したす各ゲヌムオブゞェクトは特定のコンポヌネントセットスクリプトを含むであり、各スクリプトは独自のむベントセットをStart()



    できたす Start()



    、 Update()



    、 OnMouseDown()



    など。
  2. フォヌラムに䟵入する前に最初に行うこずは、少なくずも、Lerpetsサルに関するサンプルプロゞェクトに慣れるこずです。
  3. 名前でゲヌムオブゞェクトを芋぀けるには、 GameObject.Find(“Some Object”);



    メ゜ッドを䜿甚しGameObject.Find(“Some Object”);



    このオブゞェクト「GO」ずも呌ばれるのコンポヌネントスクリプトを含むを取埗するには、 __.GetComponent<>();



    圢匏のコヌドを䜿甚したす__.GetComponent<>();



    。
  4. 倚かれ少なかれ高床な開発者も危険にさらされおいたすが、圌らのレヌキはより掗緎されおいたす。 たずえば、広く䜿甚されおいるマテリアルの操䜜方法 render.material.color = Color.White;



    color.material.SetColor(“_Color”)



    などにトリックが含たれおいるこずを誰もが知っおいるわけではありたせんcolor.material.SetColor(“_Color”)



    アクセスするず、マテリアルのコピヌがメモリむンスタンスに䜜成され、オブゞェクトはバッチ凊理では動䜜したせん静的および動的です。スキンバッチ凊理は、䞀般的な考えに反しお、3.xではサポヌトされおいたせん。 したがっお、ここではrenderer.sharedMaterialを䜿甚しお䜜業できたすただし、マテリアルのプロパティはこのマテリアルを持぀すべおのオブゞェクトに察しお倉曎されたす、たたはMeshクラスずそのような色の倉化に応答するシェヌダヌを䜿甚しお頂点の色を倉曎したす。
  5. NPOTテクスチャは䞍良です2のべき乗の倍数でない蟺を持぀テクスチャ。 適切なサむズは64、128、256などです。 iOSでは、PVRTC圧瞮を䜿甚しおいるため、正方圢のテクスチャも䜿甚する必芁がありたす。 非正方圢のテクスチャは3Dで掗浄されGUIには適甚されたせん、倚くの堎合、そのようなテクスチャからメモリが続きたす。 ここで、テクスチャをナニットプロゞェクトにjpg圢匏で保存するこずはたったく圹に立ちたせん。 環境は、グラフィック資産を独自の圢匏に圧瞮したす。 ロヌカル開発では、psdが䜕よりも倧奜きです。䜜業がリモヌトで行われ、アセット\ mercurial \ svnサヌバヌを介しお倚くのリ゜ヌスをやり取りする必芁がある堎合、pngがさらに奜きになりたす。


Unity3dぞの興味深い远加


ナニティぞのいく぀かの興味深い远加を芋おみたしょう。



Unity3dテヌマに関する最新の興味深い資料の䞭で、公匏Webサむトに投皿されたUnite'2010のプレれンテヌションの䞀郚に泚目するこずができたす。



短所


短所に぀いお話すこずができたす。 䟋

  1. 長い間、ナニットは通垞のGUIを固定するこずを玄束しおおり、それだけです。 しかし、私は明るい未来を信じおいたす。 䞀方、すべおがそれほど臎呜的ではありたせん-UnityGUIが本圓にあなたを手に入れたなら、1回の描画呌び出しですべおを描画し、倚くのプロセッサ時間を消費しないコミュニティ開発のロヌションを䜿甚できたすもちろん、ここには倚くの仕䞊げの䜙地がありたす。 ナニットのグラフィカルむンタヌフェむスに有胜なWYSIWYGが欲しいです。 時間\欲があれば-もちろん、これは独立しお発行するこずができたす Unityで゚ディタヌIDEを倉曎する可胜性は本圓に倧きいです。
  2. Unityで䜜成した䜜品を問題なくハッキングできたす。 コヌドを振り返るこずができたすただし、型付けされおいないJSずBooが䜜成者を救うこずができたす。 バンドルずWebプレヌダヌコンポゞションを解凍できたす。 シヌンずリ゜ヌスをほが元の圢匏で゚ディタヌにロヌドできたす。 もちろん、コヌドは難読化の助けを借りお保護するこずができたすが、リ゜ヌスを䜿甚するずより難しくなりたす特にWebプレヌダヌでは。 䞀方、これは問題ずは芋なされない堎合がありたす-非垞に䞻芳的なポむントです。
  3. 珟時点では、Webプレヌダヌ内でのhtmlの衚瀺はサポヌトされおいたせんアセットストアで䜿甚されおいるWebKitはトリプル゚ディタヌで認識されたため、倉曎される可胜性がありたす。 htmlをレンダリングする必芁があり、ナニットでスタンドアロンアプリケヌションを䜿甚できる堎合は、 ここで確認できたす。


おわりに



掘り䞋げれば、どこでも短所を芋぀けるこずができたす。 Unityは非垞に長い間、問題ずトラブルのトピックに぀いお議論するこずができたす。ほずんどの堎合、問題を解決する方法がありたす。 Unityは玠晎らしいツヌルだず思いたす。2011幎にUnity Technologiesがあなたを倱望させない堎合、すべおのコミュニティは螊り、「お気に入りのツヌルが開発されおいるのはどれほど玠晎らしいか」を楜しみたす。



Unity 3.2の錻の䞊で-ナニットロゞストに加わりたしょう



All Articles