Sunday, 3 July 2016

The Nightwatchman Screenshot

Been working hard on the layout of the hotel for The Nightwatchman (Kickstarter: https://t.co/Q1gdfw9TNj). This is a screenshot of the foyer from the 2nd-floor balcony:


The statue was made in Daz and the main interior was bought from the Unity Asset Store (https://www.assetstore.unity3d.com/en/#!/content/8429).

Monday, 13 June 2016

The Nightwatchman Teaser Trailer #2

Well Teaser Trailer #2 is finished and now available on YouTube, please check it out:


Monday, 30 May 2016

A little more on The Nightwatchman

Completed some more on the effects in The Nightwatchman, so here's a little sample:



Sunday, 1 May 2016

The Nightwatchman Teaser Trailer

So we have a teaser trailer ready for our game, hope you like it..



Kickstarter campaign will be launching soon...fingers crossed.

Wednesday, 24 February 2016

Fixing Daz Character Eyes in Unity

So one of the things you may have noticed when you imported your Daz character into Unity is that the eyes do not retain their colour. There's also the matter of the eyelashes, but let's address that in another post.

Anyway, back to the point: what's up with the eyes!



Well the problem is with the way they're exported from Daz as well as how they're imported into Unity. The texture for the eyes contains the texture for everything related to both eyes in the one file, and this is the first part of the problem.
The second part is when the model is actually in Unity. Part of the import process creates a "Materials" folder and uses the textures in the .fbm folder to create the materials.


Let's take a look inside the "Materials" folder:


If you click on the image above you'll see that there are 3 Materials associated with the eyes:

RyBelle_eyes02
RyBelle_eyes04
Cornea

The Cornea material is what's causing us the issue because it is completely blank. What the cornea material is representing is the pupil and the iris, so this part:

Okay, so let's back up a second. I said that there were 3 materials, but don't we just need the cornea? Unfortunately not. The eye is actually split into 2 components:

1. The Sclera (more commonly known as the whites of the eye)
2. The cornea (comprising of the pupil and the iris)

The 2 RyBelle_eyes0x files are just two different eye colours, blue and the green for my character. But they are making up the Sclera portion of the eye even though the base texture contains all portions of the eye (including the tear ducts, etc.). So how do we fix this? Well, it's quite easy really. Let's start with the Sclera.

Go into the .fbm folder for your model and open up the eye texture you want (blue or green) with your favourite image editing software (I'm using PhotoShop as part of a Creative Cloud subscription). Select one of the Sclera and crop the image so it looks something like this:


Now clean it up so we only have the part we want:


Okay, so now that looks like something we want. Save the file with a different name (so that you keep the original just in case) and it should save into the textures folder.

Now go back into Unity and check inside the textures folder (the one ending .fbm) and make sure the Sclera is there:


Now the file is there it should have imported as a texture, but let's check. Click on the new image (I called min Sclera) and look in the Inspector and the Texture Type should be Texture. If not, click in the drop-down list and select Texture and click Done.



Now let's go into the Materials folder. The easiest way to tell which RyBelle_ material is being applied is to click on one and then go over to the inspector and change the color next to Albedo in the Main Maps section:


I changed the colour to Red to make it obvious. If I've changed the colour on the correct material, then I'll see this:


Now I know that I have the correct material selected I revert the colour change (Ctrl + Z or just use the colour picker to select white again) and click on the circle next to Albedo in the Inspector:


and select your Sclera texture by double-clicking it.


You may notice a slight colour change in the eyes now.


Okay, now let's finish. Go back to the original texture that contained all the parts of the eyes and select the cornea (pupil & iris), just like we did earlier for the Sclera, so you end up with the following:


Save it as a new file and make sure it shows as a texture in Unity once you're done (again, just as we did earlier).

Now go into the Material folder and select the Cornea material and select your new cornea texture. Now it looks like we're getting somewhere:


But where are the pupils? Well, that's because of the wrapping of the texture in the material, so it's a really easy fix. Select the Cornea material again, then change the Tiling X & Y values in the Main Maps section and change them from 1 to 10. 


I also adjusted the "Smoothness" and "Metallic" sliders to get a better effect and now the eyes look like this:


They actually look like eyes now! You can also play around with the "Eyes Reflection" material if you're not 100% happy, but this is the end result:



I guess all that's left is to address those pesky eyelashes, but I'll tackle that at another time and another blog post.






Monday, 22 February 2016

Using Daz Animations in Unity

In a previous post the steps for importing a Daz character in Unity palov vidaurrof asked if there was a way to export animations from Daz so that they can be utilized in Unity using the Mecanim animation system. This post answers that question.

Note: This tutorial uses Daz 4.8.0.55 Pro Edition (64bit) (from Help > About Daz Studio) and Unity 5.2.0f3. My system is a first generation Wacom Cintiq Companion running Windows 10 and using an Intel 4600 Graphics Card.




So let's start in Daz. For this tutorial Victoria 6 is being used with Toulouse Hair, pink shorts and top so there's nothing getting in the way of you seeing what's going on with the model. Obviously, you can use whichever model you like.

Here's my Daz scene:


Now let's add some animation to this. We're going to use aniMate Lite here, but the steps should be the same if you have aniMate 2. aniMate Lite is already docked to the bottom of the workspace, but if you can't see it click on Window > aniMate Lite:


Here is the aniMate window:


Along the bottom of the aniMate window you can see some items in blue. These are complete animations ready to use that you can drag onto the timeline and if you hover your mouse over the animation, then it will run against the currently selected character in your scene.


For the purpose of this tutorial we are going to use the first animation: crouch and jump. Click on the "crouch and jump" animation and drag and drop it onto the Timeline.


Before we go further, let's take a quick look at the aniMate controls. They are described below:

Press Play and you will see the animation run and loop (unless you turned looping off by clicking on the "Loop animation" button). 

Note: if you leave the animation as looping, it will not import into Unity that way so you will have to set that within Unity.

When we dragged the animation on the timeline it did not line up with the start of the timeline, so we're going to drag that back to frame 0 of the timeline so that the animation plays straight away. You'll also notice that the animation will stop, or loop, at the end of the "crouch and jump" animation, this is because there's no other animation on the timeline, so that's really neat as it saves you trimming the animation.

OK, now we've dragged the animation to Frame 0 of the timeline just by clicking and dragging:


Now there's no gap when the animation is played. So now we have a character in Daz and it has an animation, but there's one more thing we need to do before we can export it. Right click in the blank space under the timeline and click "Bake to Studio Keyframes":


Click "Yes" to transfer the animation from the aniMate timeline to the Daz Studio timeline:


Now you are ready to export, so click "File > Export".


Type a name for your file and choose a location to store it in (making sure you've selected .fbx as the file type) and click "Save".


Make sure you select "Animations" and "Morphs" and click "Accept".


You'll see a progress bar while the export completes. Once complete, you now have a model with animations to import into Unity.



Monday, 14 April 2014

Importing a Daz Character into Unity

We're using Daz3D 4.6 and Unity 4.2.2 (March 2014 Pro release for WiiU). We're also using iClone 5.5 with 3DExchange for animation, but this post is notes on exporting a Daz3D character and importing it direct into Unity and applying standard animations from Unity utilizing the in-built Mecanim animation engine.

You can get Daz3D for free from here: https://www.daz3d.com/get_studio
Buy Michael 6 Pro Bundle in the Content Marketplace: http://www.daz3d.com/michael-6-pro-bundle
You can get the regular version of Unity here: http://unity3d.com/unity/download
You can get iClone here: http://www.reallusion.com/iclone/
And 3DExchange is here: http://www.reallusion.com/iclone/3dx/

OK, so these notes start with Daz3D where you've created your character (we've used Michael 6 with Newport shoes, pants and sweater, blue eyes and MicahHairG2M).


Click "File > Export".


Choose a location for the exported model and name it (make sure the file type is "Autodesk FBX (*.fbx)".


Make sure the following items are selected (there have been no animations applied to the model in this case, but if there are then make sure that "Animations" is selected):

  • Figures
  • Props
  • Morphs
  • Embed Textures
  • Merge Clothing into Figure Skeleton
  • Allow Degraded Skinning
  • Allow Degraded Scaling

Then click "Accept".

Note: Make sure that "Convert Clothing to Static Geometry" is NOT selected. This option was selected by default in my installation. If this option is selected and you animate the model, then only the Michael (or whichever model you are using) character moves; the clothes stay exactly where they were when you exported them. This results in some very amusing, if not frustrating, problems.

You'll see a progress bar as the model is exported. The bar disappears when the export is complete.


Now go to Unity and go to the "Project" view. I have a folder called "Models" (or Model for some odd reason in this screenshot!) where I store all the models I import just to keep everything neat.



Open an Explorer Window, browse to the location the model was exported to, and then just drag and drop the FBX file into the Model folder in Unity. You will see a progress bar in Unity while it imports your model.


Don't worry if you see anything like this message:


It's just Unity warning you that it found too many meshes and has corrected the issue for you. Unity is awesome like that.

OK, so now the model is in the "Models" folder, but DON'T ADD IT YET! You have to edit the model first so that Unity knows how to treat it. I keep forgetting about this, then wonder why my models do crazy things when I apply Mecanim (like sink half way through the floor, or move 5 miles away in game space, or go into some bizarre bear-hug-like pose, etc., etc.). Anyway, enough of "helping you learn via my mistakes". :)

Click on the new model and then look at your "Inspector". You should see 3 buttons/tabs:

  1. Model
  2. Rig
  3. Animation

Click on "Rig" (you should be there already) and click on the drop-down list next to "Animation Type" and select "Humanoid" instead of "Generic".


Click "Apply".


You can click on the "Configure" button and make sure that the bones all line up (right thumb maps to right thumb, left leg maps to left leg, etc.) but the Daz3D models export so well that you won't need to do that.

If your character had no animations, or you chose not to export them from Daz3D, then click on the "Animations" tab and clear the check mark for "Import Animation" and click "Apply".


You'll see the "Hold On" status bar for a minute, so let Unity do its thing. Once the status bar goes away, you can add your model to your Unity Scene simply by dragging and dropping from the Project window into the Scene window.


I have a folder called "Controllers" that I put my Animation Controllers in. I created an Animation Controller called "Michael6_6" and it only contains an "Idle" state which maps to the "Idles" animation from the Unity 4 Macanim tutorial (the tutorial is here: http://youtu.be/Xx21y9eJq1U, and the assets (which include the animations) can be downloaded from here: http://files.unity3d.com/will/MecanimTute.zip).

Click on the instance of your model in the "Hierarchy" pane, then drag and drop the controller into the "Controller" slot of your model.


Now hit "Play" to test and you should see your character run through the Idles animation.


My scene is badly lit as I'm testing some light effects, so don't be put off by how my model looks in this screenshot. Here is our character again and he's in a brand new scene with only a floor plane and a directional light and you can see how much better he looks (also, the FPS is a lot higher).


So there you go, that's how to add a Daz3D character to Unity and use the Mecanim functionality (in Unity 4.x) to apply animation.