Creating a Unity Game for Windows 8
2020-11-18 13:04
标签:des blog class code java tar 原地址:http://www.davebost.com/2013/08/30/creating-a-unity-game-for-windows-8 The recent release
of Unity 4.2 brings with it full-support for deploying Unity games to
both Windows 8 and Windows Phone. Unity 4.2 is a powerful game development tool
that comes in a free version and a Pro edition. The great news that comes along
with the release of 4.2 is the ability to deploy your games to the Windows Store
and Windows Phone Store free of charge! The Unity Windows Store Add-on is
included in both the free version of Unity and Unity Pro. To celebrate this announcement, Unity and Microsoft have teamed up to sponsor
a Windows Build
Competition with over $100,000 in prizes!!! To get you well on your way to potentially winning a piece of that $100,000
prize pool, I’m going to walk you through the steps to build a Unity game for
Windows 8. The purpose of this article is show you the steps to build your game for
Windows 8. Not how to build the next Temple Run 2 – unfortunately. With that in
mind, let’s start simple. First download and
install Unity. Unity comes in a free version and a Pro edition. The Pro
edition provides more advanced
game development capabilities. However, you can create some amazing games
with the free version and I know several people who have done just that. Once Unity is installed, open Unity and select File | New
Project. Select a project location and choose not to import any
packages at this time. You should now have a blank canvas to create your masterpiece. Fortunately
for us, our masterpiece shouldn’t take us longer than 10 minutes to create. In the Hierarchy window, select
the Create dropdown and
select Cube. In the Inspector window, change
the Scale and Rotation values
to the following: Your cube should look like the following. Slightly bigger than the default,
turned to the left and tilted downwards. If you click on the Game tab, you can see what
your Cube will look like during runtime. Unfortunately, it’s a little dull and a
little dark. Let’s add some lighting. In
the Hierarchywindow, select Create |
Directional Light. It doesn’t matter where the directional light is placed, what does matter is
the angle it’s “shining” at. The Directional Light gives you the effect of a
light shining from above at a specific angle that will highlight and generate
shadows on the objects below. You can switch to the Game window to see how your cube looks or even click
the play button to see what your Cube looks like when your game is running.
Although our cube is lit nice, its still pretty boring. Let’s add some animation
to our cube. To add an animation effect, we need to write some code. Unity supports your
custom code to be written in JavaScript, Boo, or C#. At this time, JavaScript
and Boo scripts won’t pass the Windows 8 Store certification. In addition, you
can’t access C# classes from JavaScript and Boo, but you should be able to
access JavaScript and Boo from C#. With all of that in mind, we’ll select C# as
our script language of choice. To create the C# script, select your Cube object in
the Hierarchy window, and in
theInspector window, scroll all the way down and click
the Add Component button and select New
Script. Feel free to change the name of the script but be sure to
select CSharpas the language. Click Create
and Add. The will create a new Script object and place it in
your Assets folder in
the Project window. Also, with the Cube object
selected in yourHierarchy window, you should see the
script attached (checked) in
the Inspector window. To edit the script, you can double-click the script in
your Assets folder (in
the Projectwindow) or double-click the script name in
the Inspector window.
The Update() method is called for every ‘Tick’ of
game time. Essentially for every frame of your game. In
theUpdate() method, use
the transform.Rotate() method to apply our
animation. You can control the speed of rotation through the multiplication value. The
larger the value, the faster the rotation. Save the script and switch back to Unity. To test your work of art, click
the Play button. Congratulations, you have a spinning
cube! Click the play button again to stop the game from running. It’s important to
stop before making any more changes to your project. If you’re really adventurous, we could add a little more pizazz to our cube.
In the Project window, right-click the Assets folder
and select Import Package | Particles. In the Importing Package window, leave everything
selected and click the Import button. In
the Project window, open
the Smoke folder (Assets/Standard
Assets/Particles/Smoke). Drag and drop Fluffy
smoke onto the Cube in
the Hierarchy window. Now, navigate to
the Fire folder in
the Project window and drag and
drop Flame onto the Cube in
theHierarchy window. Now when you press Play you should see a SPINNING
CUBE OF FIRE!!! Click the Play button to stop your – SPINNING CUBE
OF FIRE! – and return back to the Unity editor. At this point, save your changes
by selecting File | Save Scene (or CTRL-S). Now we’re
ready to deploy our game to Windows 8. Open the File menu and select Build
Settings. With Unity 4.2, we now have the ability to export our games
to Windows 8 and Windows Phone. In the Build
Settings windows, select Windows Store
Apps and click the Switch
Platform button. If your Scene isn’t already listed in
the Scenes In Build list, click Add
Current button. Unity has the ability export your game into the following Visual
Studio project types: Which type you export to is more of a personal choice. Choosing XAML does add
a slight performance hit to your game, but it does give you the capability to
take advantage of rich UI and GUI elements for your game as well as easily take
advantage of handling some Windows 8 scenarios such as Extended
Splash Screens and Snapped
View. For our purposes, we’re going to select XAML/C# as
our build type. Unity gives us the capability to define the required
Artwork for a Windows 8 app. Click onPlayer
Settings… in the Build Settings dialog.
In the Inspector window, you can specify elements
such as Logo, Wide logo, Small logo, Splash screen, etc. If your game requires
additional capabilities such as Internet Client connectivity or Location, you
can specify these in the Player Settings as well. These settings are translated
over to the Visual Studio project’s package manifest file
(Package.appxmanifest). Once you’ve completed setting your Player Settings and you’re ready to build
your game, open the Build Settings window again
(File | Build Settings), verify your scene is listed and the
XAML/C# type is selected, and click
the Build button. If this is the first time you are building your game, Unity will prompt you
for a build location. For my project, I created a ‘Export/Win8’ folder structure
in my Unity project directory and selected the ‘Win8’ folder as my build
directory. Once the build is complete, open the generated solution file (.SLN) in Visual
Studio. If you’re a Windows 8 C# developer, this solution should look very familiar.
Your Unity game and all of its assets are compiled and stored in
the Data folder. Everything else is the Windows 8
application code that will host the Unity game. This structure preserves your
Windows 8 application specific code from any changes made in Unity. When you
make changes to your Unity game and re-export the build, those changes will only
overwrite the contents in the Data folder. Everything
else is preserved. If you open the App.Xaml.cs file, you can examine
how the Unity player is integrated into this XAML/C# application. At the beginning of the App class declaration, there are two class variables
declared: WinRTBridge is a Unity internal-only class that
provides Unity the integration between the managed and unmanaged world. It is
not intended to be used by developers. AppCallbacks is a very important class. This class
provides the developer’s bridge between the Windows 8 application and your Unity
game. The AppCallbacks class is used to initialize your Unity game at start-up
time as well as handle events between the Windows 8 application and your Unity
game. More details can be found in the Documentation
for AppCallbacks. In the MainPage.xaml file, the Unity player is
hosted in a SwapChainBackgroundPanelcontrol. This
controlled is initialized and loaded in
the OnLaunched() event defined
inApp.xaml.cs. Other than those custom elements required by Unity, this is just a standard
XAML Windows 8 application. The Unity documentation does contain several
samples on how to integrate your Unity game with your Windows 8
application. Included in those samples, is theXAMLUnityConnectionV4
sample that shows how to integrate event-handling between Unity and
your Windows application. This is necessary to handle events such as the user
switching your game to snapped view as well as any GUI related events triggered
by XAML that need to be sent to Unity. Another sample worth noting is
the MetroSettingsMenuV1sample
that shows how to integrate the use of the Settings menu in Windows 8 with your
Unity game. At this point, you can test your game as a Windows 8 app by clicking
the Run button (or hitting F5) in Visual Studio. Note: Your app may fail deployment because of… Error: DEP0700: Registration of the app failed. Windows cannot install
package MyWindows8Game because the package requires architecture ARM, but this
computer has architecture x64 (0x80073cf3). The Unity exported project contains a build configuration definition for ARM,
x64 and x86. Your most likely not developing on an ARM based machine, therefore
you need to change the current building configuration to test your game on your
development machine. To do this, open the Build menu
in Visual Studio and select Configuration Manager. In
theConfiguration Manager window, select appropriate
architecture under Active solution platform. Close the Configuration Manager window and re-run
your application by clicking theRun button (or F5). Congratulations! You’ve built a Unity game for Windows 8! Here is my completed project in-case you missed a step along the
way: There are some additional elements you’ll need to be aware of to get your
Unity game through the Windows
Store certification process. Much of this guidance is available from
the Building
Windows Games with Unity event held last spring. Here experts from
Unity and Microsoft share insight, guidance and lessons learned to bring your
Unity games to Windows 8 and Windows Phone. Jodon Karlik, of CodingJar,
has an invaluable session on the lessons
he learned when building Fling Theory for the Windows Store.
These lessons include implementing an Extended Splash Screen, conditional
compiling, Ad integration and handling snapped view. Also recommended is the
session from Vladimir
Kolesnikov on Differentiate:
Integrate your game with Windows 8 Platform Features, which delves into
topics such as contracts, notifications and live title integration. Also, be
sure to read through the Windows
Store andWindows
Phone sections of the Unity documentation for all the latest in support
and capabilities. The last step is to package
up your game using Visual Studio and to follow
the publishing guidance. The time is right for success in the Windows 8 Store. Unity provides every
budding and professional game developer the high quality tools to build amazing
games. With the latest release of Unity 4.2 you now have the power to bring
those games to the Windows Store and Windows Phone Store. Creating a Unity Game for Windows 8,搜素材,soscw.com Creating a Unity Game for Windows 8 标签:des blog class code java tar 原文地址:http://www.cnblogs.com/123ing/p/3704901.htmlLet’s start simple
Building for Windows 8
A Look Inside the Code
private WinRTBridge.WinRTBridge _bridge;
private AppCallbacks appCallbacks;
FireCube.zip.Bringing it Home
文章标题:Creating a Unity Game for Windows 8
文章链接:http://soscw.com/essay/21852.html