unity-logo

Unity 5 Spiel-Engine

Letzte Woche wurde die neueste Version, nämlich Nummer 5, der Unity Spiel-Engine offiziell veröffentlicht. Ausserdem wurde in der selben Woche das Lizenzierungsmodel der Unreal Engine 4 angepasst, so dass diese nun grundsätzlich von jedem verwendet werden kann (erst ab einem Umsatz von 3000 Dollar pro Quartal, muss man selber etwas bezahlen). Auch Valve hat die Veröffentlichung der „Source 2“-Engine angekündigt, welche voraussichtlich ebenfalls in einer freien Version verfügbar sein soll.

Unity gibt es schon länger gratis in einer Einsteiger-Version, mit der man aber schon sehr viel machen kann. Möchte man aber z.B. einen Asset Server verwenden (mit Versionsverwaltung) oder einen eigenen Splash-Screen vor dem Spiel präsentieren (und noch einige andere Features mehr, siehe Unity-Website), dann muss man die Pro-Lizenz erwerben, welche mit 75$ im Monat immer noch sehr bezahlbar ist. Für die Möglichkeit das Entwickelte Produkt auf iOS oder Android zu deployen, wird jedoch nochmals (je) 1500$ verlangt oder je 75$ zusätzlich pro Monat.

Aus Neugierde habe ich mich einige Stunden mit der Unity-Engine auseinander gesetzt und auch einige der Einsteiger-Tutorials bereits umgesetzt. Die Engine hat meiner Einschätzung nach eine gute Lernkurve, man erreicht schon nach kurzer Zeit erste Erfolgserlebnisse die einen anspornen sich tiefer mit den weiteren Möglichkeiten zu beschäftigen. Der Editor, mit welchem die Szenen, Animationen und Objekte bearbeitet werden können wirkt sehr aufgeräumt und kann intuitiv bedient werden – man fühlt sich schnell zu Hause. Für einen C#-Entwickler ist es zudem praktisch, dass als Script-Sprache C# (Mono via einer mitgelieferten MonoDevelop-Version) verwendet werden kann. Unreal 4 mit C++ hat mich da schon etwas abgeschreckt 🙂

Nach wenigen Stunden hatte ich bereits ein kleines, erstes Spiel fertig (nach Tutorial, Objekte/Texturen wurden als Asset bereitgestellt):

Wer selber mit Unity loslegen will, der sollte am besten mit den Tutorials auf der offiziellen Unity-Webseite beginnen:

Viel Spass!

SharePoint: Aktuelle Seiten-URL in CustomAction verwenden

Manchmal kann es vorkommen, dass man in einer SharePoint-UrlAction innerhalb einer CustomAction die aktuelle Seite mitgeben möchte. Dies kann zum Beispiel sinnvoll sein, wenn man nach dem Klick auf den „OK“-Button auf der aufgerufenen Seite wieder auf die ursprüngliche Seite zurückkehren möchte.

Normalerweise ist eine CustomAction/UrlAction wie folgt aufgebaut:

<?xml version="1.0" encoding="utf-8">
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
   <CustomAction Id="MyAction" GroupId="PersonalActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="My custom action">
        <UrlAction Url="~sitecollection/_layouts/page.aspx">
    </CustomAction>
</Elements>

Und leider gibt es kein eingebauten Platzhalter für die aktuelle Seite.

Mit etwas JavaScript kann man dieses Problem aber Lösen und den URL-Parameter „Source“ dynamisch abfüllen lassen:

<UrlAction Url="javascript:window.location='{SiteUrl}/_layouts/page.aspx?List={ListId}&Source=' + window.location">

SharePoint verwendet diesen Source-Parameter um den Benutzer auf die jeweilige Seite zu leiten.

ShiRenamer Mk I

Letzthin stand ich vor dem Problem, dass ich aus Versehen beim Convertieren von RAW-Bildern meiner Kamera vergessen habe die Dateien korrekt zu benamsen.

Im Zielordner gab es daraufhin einige Dateien die z.B. „CRW_1509_RJ.JPG“ hiessen und einige die z.B. „IMG_1509_RJ.JPG“ hiessen. Unter Windows kann man das ganze ja schön markieren und auf einen Schlag umbennen, jedoch würde ich dann die Nummerierung verlieren, welche ich später aber für eine Sortierung benötige.

Unter Linux gibt es sicherlich irgendein verkrüpeltes Kommandozeilen-Tool, mit welchem man sowas in wenigen Sekunden lösen könnte, jedoch nicht unter Windows… vermutlich… wie auch immer.

Um die Dateien nicht alle mühsam von Hand umzubenennen, hab ich mich mal kurz hingesetzt um ein eigenes Programm zu schreiben, welches mir diese Arbeit abnimmt.

Wenn ihr denkt ihr könnt es brauchen (funktioniert ja für alle Dateien, nicht nur für Bilder), dann könnt ihr es hier runterladen. .NET Framework 2.0 wird vorausgesetzt (die Anwendung ist in C# geschrieben). Der Quelltext ist auch gleich verfügbar. Verwendung jedoch auf eigene Gefahr:
ShiRenamer
ShiRenamer sources