In het Verenigd

procedures voor het beheer van de activa van het beheer van de activa van de eenheid, de procedure,,,,,,,,,,,, onderdeel 4,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen., hebben we in onze eigen instrumenten die vóór de toetreding is de redacteur van de eenheid; nu, in deze korte uitleg, ik zal je voorstellen aan een uniforme verwerking van de activa van het script.We zullen het pad van het beheer, het creëren van een bepaald dossier, het creëren van een textuur en het behouden van een beeld.Tot slot, we zullen ook het creëren van een document, het gebruik van die beelden, dit alles zal de voltooiing van de code. Het uiteindelijke resultaat bekijken, laten we eens kijken naar de resultaten van de laatste, we zullen proberen: vaststelling van een project en het creëren van een lege project, geen bloem. Iets, zodat we niet de invoer moet de problemen van alles.Als het klaar is, het creëren van een redacteur van het script.Als we het script waar een map, de redacteur, laten we het gebruik van het uniforme zal de redacteur,.Aangezien er in ons project, we moeten creëren.,, nu in het creëren van een script,, stap 2: toevoeging van een menu, we ruimen we het script.Afgezien van de fundamentele functies, en we hopen ook gebruik kunnen maken van de redacteur.Wat we nodig hebben is, het gebruik van UnityEditor, en ons script klassen moeten worden verlengd, in plaats van deze monobehaviour bewerken, als het normale spel object, doen.Het gebruik van UnityEngine; gebruik van het systeem, van het gebruik van UnityEditor;.; openbare klasse: Edit {}, in onze eerste functie, en we zullen het gebruik van geprefabriceerde, noemen we het, prefabroutine,., openbare klasse: Edit {nietig prefabroutine () {}), de uitvoering van deze functie gemakkelijk de redacteur, laten we nog een menu,,, openbare klasse: Edit {[menu (voorbeeld /geprefabriceerde routine ")] ongeldig prefabroutine () {}), behalve om de eenheid weet dat we willen deze functie kan worden uitgevoerd, bijvoorbeeld - > geprefabriceerde routine", moeten we ook doen de functie van de statische, de aanleg van de redactie van het menu: {[(voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {}), als je naar de B -Nu terug naar de redacteur (en op de menu 's), zie je dat er een nieuwe nomenclatuur, menu' s voorbeeld, waar, als je wilt. Dat is routine, geprefabriceerde, omdat we niet de functie is leeg.,, salaristrap 3: het creëren van een map, de vormgeving van onze partij -, en we hopen dat de we moeten weten hoe een map van de projecten kan verplaatsen dingen.Het creëren van een map van het script is zeer eenvoudig, wat we moeten doen, is om je te laten weten dat deze dossiers moeten worden waar.Het creëren van een map, we moeten gebruik maken van AssetDatabase,,, [menu (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {AssetDatabase. MAP (" activa "en" - dossier ");},," activa "te creëren, is onze gids van de naam van de vader de MAP.In ons geval, dit is ons belangrijkste project MAP, alle activa is de input /creëren, let op, je kan ook gebruik maken van het internet, catalogus, klasse.Dit zal je laten verwijderen, mobiele of toegang tot de catalogus van de documenten.Je moet het gebruik van dit soort gebruik van het systeem. IO, elke keer dat je de keuze van de uitgever, geprefabriceerde routine, een nieuwe dossiers moeten worden gecreëerd en in het kader van het project betreft, zichtbaar., stap 4: het creëren van een automatische, het creëren van een prefab - we moeten bellen, EditorUtility.IsPersistent, createemptyprefab ().De functie van de route moet worden ingesteld als parameter, [menu (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {AssetDatabase. MAP (" activa "," pre - MAP); doel van geprefabriceerde = EditorUtility.IsPersistent. Createemptyprefab ("activa /- map /oo. Geprefabriceerde");}, niet vergeten. Uitbreiding.Tegelijkertijd moeten we in ons document te noemen, de refresh () AssetDatabase. Uniform, dus, het kunnen zien, [menu (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {AssetDatabase. MAP (" activa ", de" pre - MAP); doel van geprefabriceerde = EditorUtility.IsPersistent createemptyprefab (". De activa /- map /oo. Geprefabriceerde"); AssetDatabase. Refresh ();}, als we hier een constant weg als een parameter, elke keer als we de keuze van onze programma 's een nieuwe ruimte zal de ingesteld ter vervanging van de oude.Laten we voor elk afzonderlijk ingesteld tegen de map.Om dit te bereiken, moeten we de nieuwe dossiers worden bewaard in een string, dus kunnen we het als een pad parameters te gebruiken.Het creëren van een functie terug te keren,,,,, in feite is het dossier (of catalogi) id heeft een functie, zoeken weg, als we de id. Dit is de zogenaamde guidtoassetpath; laten we, laten we het gebruiken van de map weg, de menu 's (voorbeeld geprefabriceerde reeks lu /). Statische prefabroutine () {touw weg = AssetDatabase. Guidtoassetpath (AssetDatabase. MAP ("activa" en "- dossier")); doel van geprefabriceerde = EditorUtility.IsPersistent. Createemptyprefab ("activa /- map /oo. Geprefabriceerde"); AssetDatabase. Refresh ();}, laten we nu het pad, leidt ons. Om aan de onlangs opgerichte MAP vastgestelde, [menu (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {touw weg = assetdatabase.guidtoasSETPATH (AssetDatabase. MAP ("activa" en "- dossier")); doel van geprefabriceerde = EditorUtility.IsPersistent. Createemptyprefab (wegen + "/. Geprefabriceerde"); AssetDatabase refresh (.);}, je kan testen of het creëren van lege voorvormen zijn geïnstalleerd in een map.,, vijf stappen: - het creëren van een veronderstelling, als je zo je wil misschien niet dat het leeg, in dit geval, het is bijna nutteloos.Als we een spel voor ons doel en uitvoering van geprefabriceerde routines.We worden ingesteld in die voorwerpen.Om de huidige bepaalde voorwerpen, kunnen we gebruik maken van "keuze", met inbegrip van een verwijzing naar het.Die moeten we bellen, geprefabriceerde replaceprefab (), [menu. (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {touw weg = AssetDatabase. Guidtoassetpath (AssetDatabase. MAP (" activa "en" - dossier ")); doel van geprefabriceerde = EditorUtility.IsPersistent weg. Createemptyprefab (+" /oo. Geprefabriceerde "); AssetDatabase. Refresh (); als (keuze van EditorUtility.IsPersistent. Activeobject). Replaceprefab (selection.activegameobject, geprefabriceerde);}, als je het spel van de uitvoering van het programma een object geselecteerd, dan zult u zien dat de oprichting van de automatische automatisch.,, dat is het, we hebben een speciale routine van de schepping van geprefabriceerde het is niet erg nuttig, maar je weet wat je moet doen, als je er zo iets pr nodigTot slot wil ik nog zeggen dat het project, en ook dat je mobiele AssetDatabase, activa, breng ze naar de vuilnisbak of het schrappen van hun telefoon, moveasset () () AssetDatabase moveassettotrash AssetDatabase.,.,,, deleteasset (AssetDatabase, respectievelijk).De functie van de rest van de AssetDatabase script gevonden kan worden in de,,,, referentie blz. Stap 6: toevoeging van een menu, laten we naar een ander voorbeeld, deze keer zullen we het creëren van een textuur en materialen met het oog op de programmering.We noemen dit de menu 's, de materialen, de conventionele, [menu (voorbeeld /geprefabriceerde routine "). De statische prefabroutine () {touw weg = AssetDatabase. Guidtoassetpath (AssetDatabase. MAP (" activa "en" - dossier ")); de geprefabriceerde = EditorUtility.IsPersistent als createemptyprefab (+" weg. /OO. Geprefabriceerde "); AssetDatabase. Refresh (); als (keuze van EditorUtility.IsPersistent. Activeobject). Replaceprefab (selection.activegameobject, geprefabriceerde);} [menu (voorbeeld /conventionele materiaal"). De statische materialroutine () {}, we hebben twee keuzes, de voorbeelden, menu' s, en stap: 7. Het creëren van een structuur om te creëren, Texture2D, en de omvang van, bijvoorbeeld, (256256), [menu (voorbeeld /conventionele materiaal "statische materialroutin)]E) (Texture2D tex = nieuwe Texture2D (256256);}, nu moeten we het niet laten die pixels te verliezen, dus we volgens een manier van denken die de formule van de textuur van de pixels.We moeten twee, want door middel van elke pixel van de cyclus.We zullen elke pixel van kleur moet bellen, setpixel (meer dan), de textuur en de kleur van de parameters van de pixels, [menu (voorbeeld /conventionele materiaal "). De statische materialroutine () {Texture2D tex = nieuwe Texture2D (256, 256); (y = 0; Y < 256; + + + + + + + Y) {voor (in X = 0; X < 256; + + X) (x, Y, tex.setpixel nieuwe kleur ());}}, welke kleur gebruiken we, mathf zonde (), functioneren.De kleur, de categorie kan worden gestart met drie zwevende, overeenkomend met de rode, groene en blauwe kleur, respectievelijk.De maximaal toelaatbare waarde is de kleinste is 0, 1, en dus, sin (), volledig te kunnen voldoen aan de behoeften van onze functie, als (y = 0; Y < 256; + + Y) {voor (in X = 0; X < 256; + + tex.setpixel (X). Mathf. (x - X - y), mathf. Misdaad (x - X - y), mathf. Misdaad (x - X - y));}, het maakt niet uit, Wij gehoorzamen, sin (), functie, maar iets veel interessanter, we moeten voor elke pixel van veranderingen In de waarde van de.,, salaristrap 8: het creëren van een beelden, laten we nu om een beeld te creëren van de structuur die we zojuist hebben gecreëerd.Nee we zijn schrijven aan A dossier in binaire mode te zijn, we moeten het gebruik van het systeem. Dus, alsjeblieft, en voeg het toe aan de Top van ons script. Met UnityEngine; gebruik van het systeem. Collecties; gebruik van het systeem. UnityEditor; gebruik van voorbeelden:;: de klasse - effecten te redden, als een van onze eerste beeld nodig, Papoea - Nieuw - Guinea, te noemen. En EncodeToPNG (), die zullen de terugkeer van een reeks bytes dat het dossier consists, Papoea - Nieuw - Guinea,., voor (int y = 0; Y < 256; ++y) {voor (in X = 0; X < 256; + + X) tex.SetPixel (x, Y, de nieuwe kleur (Mathf.Sin (* y), Mathf.Sin (* y), Mathf.Sin (* y))); pngData} [] = (); tex.EncodeToPNG, nu je dat we've hebben ons, pngData, we kunnen schrijven het aan A dossier en create a, Papoea - Nieuw - Guinea, dat in dit pngData = []., tex.EncodeToPNG (); als (pngData!= nul) documenten. Writeallbytes ("activa /textuur. Papoea - Nieuw - Guinea", pngdata); en omdat we die documenten in een constante pad, elke keer als we gaan lopen, materialroutine (), bestrijken, textuur. Omdat we ons beeld, en we hoeven niet meer te winnen voor het genereren van de textuur kan verwijzen naar een beeld.Laten we het vernietigen. Pngdata, byte [...] = Texas encodetopng (); als (pngdata!= nul) documenten. Writeallbytes ("activa /textuur. Papoea - Nieuw - Guinea", pngdata); destroyimmediate (TEX); en, dat hebben we nodig om de uniforme aanpassing van visie en documenten verwezen; we moeten bellen, AssetDatabase refresh (), [...]. Pngdata = Texas, bytes. Encodetopng (); als (pngdata!= nul) documenten. Writeallbytes ("activa /textuur. Papoea - Nieuw - Guinea", pngdata); destroyimmediate (TEX); AssetDatabase. Refresh ();, we testen of de structuur wordt gecreëerd, executeren we onze programma 's, stap 9: het creëren van een materiaal, we hebben een beeld van het creëren van een materiaal gebruik het als een textuur.We creëren een, nieuwe materialen, nieuwe materialen (AssetDatabase. Refresh (); kleur. Vinden ("diffuse");, het creëren van materialen, diffuse kleur.Het behoud van de bestanden van het materiaal, kunnen we zeggen dat AssetDatabase, createasset ().Deze functie is een activa als het eerste argument, en de weg van de tweede, AssetDatabase. Refresh (); AssetDatabase. Createasset (nieuw materiaal (materialen te vinden. ("diffuse"), "activa /nieuwe materialen. Mat"); de werking van de procedures, als je ons, zie je materiaal te creëren. En, zoals je kunt zien is alles goed, zijn naam is, nieuwe materialen, het gebruik van kleur, textuur van diffuse, maar niet zijn toegewezen, 10 stappen. EN: de toewijzing van structuren, in de eerste plaats moeten we de referentie die we zojuist hebben gecreëerd materiaal.We kunnen via de telefoon, loadassetatpath () AssetDatabase. In de activa en de terugkeer van de verwijzing, AssetDatabase. Createasset (nieuw materiaal (materialen te vinden. ("diffuse"), "activa /nieuwe materialen. Mat"); materiaal (materialen) = (AssetDatabase. Loadassetatpath ("activa /nieuwe materialen. Kussen '. Type (materialen))); en laten we nu onze generatie als materiaal textuur van de belangrijkste structurele.We kunnen de textuur die op dezelfde manier dat we het verkregen materiaal naar de referentie textuur, materiaal (materialen) = (AssetDatabase. Loadassetatpath ("activa /nieuwe materialen. Mat", type (materialen))); material.maintexture = (Texture2D) (AssetDatabase. Loadassetatpath ("activa /textuur, Papoea - Nieuw - Guinea". Type (Texture2D))); gezien de resultaten, de werking, het materiaal, de conventionele,,,, dat zie je nu de materiële distributie van textuur, conclusies, dit is het beheer van de activa van je script, tegen het einde van het jaar.Als je wilt kan je toegang krijgen tot de in het onderwerp van de eenheid... Soort verwezen naar bladzijde uitbreiding van de kennis, met name AssetDatabase script referentie is het wachten waard.Als je op een lager niveau werken, moet je ook de documenten te lezen krijgen de klasse van het systeem. De aanvullende informatie, en hoe ze te gebruiken.Dank je voor je tijd.,

Material with a texture assigned.
Editor folder created in the project view.
Editor script in our folder.
Menu item added to the unity editor.
Folders created in our script.
Prefabs in the folders.
Prefab set to the selected object.
The generated texture.
Material without assigned texture.
Material with assigned texture.



Previous:
Next Page: