It is possible to have multiple lip sync files in the same scene and even for the same character. Import each audio file and choose "Create lip sync for character dialog" The lip sync file and its corresponding audio file will be placed in the Assets Panel under the "Lip Sync" and "Audio" headings.
Once you've imported all your audio files and created their lip sync counterparts, simply drag each one onto the Lip Sync track under the desired character multi-track. The lip sync cues are allowed to be overlapping.
Can I use mp3 files as my audio source?Yes, we support mp3 imports as well as WAV files. We don't recommend using compressed audio sources (such as ogg), since they are compressed again in the video, which can lead to poor audio quality.
Having a background in 3ds Max is required for character customization and development because attempting to edit a character without this basic knowledge can produce undesired results and frustrating situations.
Please note - Modifications to the character (or creation of a new character) should only be done by users with experience in using 3DS Max or similar products. If done incorrectly, these modifications may result in errors with the associated animations. User assumes all risks associated with these modifications and these modifications are not covered by warranty.
Animation Guide
When modifying or developing any character, make sure to go through CodeBaby's Animation Guide to familiarize yourself with the process of creating a character.
The CodeBaby Animation Guide is designed to aid those who wish to edit characters on their own. This guide would be best utilized by someone who has experience with 3ds Max versions 3.0 through 8.0. Modeling, texturing, rigging/weighting, lighting and animation basics should ideally be known.
The Animation Guide will cover installation of the Aurora Scripts and pertinent information concerning the scripts and issues that relate the scripts to modeling, texturing, rigging/weighting, lighting and animation. The CodeBaby Model Exporter scripts allow model and animation data to be exported from 3ds Max to the CodeBaby Graphics Engine, which are used by the CodeBaby Player and CodeBaby Studio.
The Animation Guide is written with the use of 3ds Max 5.0, some buttons and work flows will differ. You should be able to achieve the same results with a different version of 3ds Max.
Planning
An important consideration for planning the modification or development of a character, is to gather as much reference material as you can before you start. References for hair, face, body, skin color, clothes etc as this will give you a good base to pull resources from. Having a clear picture as to how you want your character to turn can eliminate extra time spent on touchups later.
When working on your character, it is most important to pay attention in the modeling and texturing process to avoid errors from being generated when you export your character.
Save, Save, Save
When you have completed a major part of your character in 3ds Max or testing out an idea, always make a copy to go back to if you take your file to the point of no return.
Multiple Characters
When completing multiple characters, most often you will have your Omen Base named in accordance to the engine limit for letters and specified for each character. Your Omen Base name must be easily recognized by other people seeing it without having worked on the character.
.cbcp
A .cbcp is a CodeBaby Character Package, or .zip file that contains all of the contents to load a character into CodeBaby Studio; including a character '.mdl', a light rig '.mdl' and the '.jpg's for the characters texture. An XML file will tell CodeBaby Studio which '.jpg's will go where on the character.
It is good practice to make an image .pdf that showcases pictures of characters and includes labels with their corresponding .cbcp name and any other pertinent information for ease of use in CodeBaby Studio.
Modeling
There may be multiple files to edit when customizing your character; including 3ds Max and Texturing files ('.jpg' and '.psd' files). When editing the character's geometry, you will have three 3ds Max files and must ensure that edits are made in the first library. You will know which is the first library because it will always have the number '1' in the file name and once open, will contain the Lip-sync animation in the 3ds Max file one or Animation Library One.
Please check the documentation for your video card first, as the method for enabling anti-aliasing varies between video cards, and some may not support it.
Also, please note that these images are for a specific video card, and the steps required may be different for your hardware.
Initially, you have to ensure that video acceleration is turned on. This is typically turned on by default, but can be checked and turned on in this same "Advanced"dialog, but on the "Troubleshoot" tab. Slide the "Hardware acceleration:"slider all of the way to the right:
If you don't have easy access to your video card documentation, you can try going to the Start > Setting > Control Panel > Display and select the Settings tab. Click on the "Advanced" button and there may be a tab in that advanced dialog that gives you access to your video card's settings.
1) Add the Base_walkin_left or Base_walkin_right animation for standard characters (Male/Female_enterStage_L or Male/Female_enterStage_R) for the MoCap characters (depending which side you'd like the character to enter the scene) to the beginning of the scene and offset the Voice file so that your character begins talking when you'd like in the walk sequence. You can see this in the following image of a production. Also note that the name of the animation, BASE_Walkin_Left, or Male/Female_enterStage_L appears in the Property Inspector when you click on it.
2) The character walks in and stops back from the camera as shown below:
3) Another set of animations called Walk_In (shown in the property inspector), Walk_Mid, and Walk_Out are then used to move the character up to the camera. You can also have other animations while he is walking toward the camera as you can see in the image below.
4) The character ends up at the camera as in the image below:
You can move your license from one computer to another. Once the license has been moved from a computer, that computer can no longer run Studio, until the license has been moved back.
Two computers are always involved in a move (from Computer A to Computer B):
* Computer A: the currently licensed computer
* Computer B: the destination computer, that is, the computer to which you wish to move the license
Moving a license is a 4-step process. They are listed below, and explained in detail afterwards:
1. Install Studio on Computer B (the destination computer), if not already installed.
2. Obtain the registration key from Computer B.
3. Obtain the license key from Computer A (the currently licensed computer).
4. Enter the license key into Computer B.
Once the license is moved, Computer B should have the same expiration date and feature access that Computer A had. Computer A will no longer be licensed for Studio. The license may be moved back to Computer A.
Note: Moving a license from one computer to another overwrites any existing license on the destination computer. That existing license is PERMANENTLY DESTROYED.
To install:
1. Install CodeBaby Studio on the new workstation.
2. Launch CodeBaby Studio on the new workstation.
3. The Update License window will appear, record the Registration key.
4. On the original work station, launch CodeBaby Studio.
5. Click on the CodeBaby Studio application button.
6. Select License.
7. Select Move License.
8. Enter the Registration key from the new workstation that you recorded earlier.
9. Click on Generate License Key, record the license key.
10. On the new work station, enter the License key.
11. Click on Update License.
Note: CodeBaby Studio on the original workstation will now be disabled.
Generally, you will save your project in Production Studio as a CodeBaby Project file (.cbp). When you open this file, it grabs the necessary assets from the directories you imported them from on your computer. If you want to send your project to a coworker, however, this project file will not work properly because the asset directories will correspond to your computer and not your coworker's. If your coworker does not have the assets on his/her computer, then he/she will not be able to view the project file.
You can avoid this problem by saving your project as a CodeBaby Project Archive file (.cbpa). A CodeBaby Project Archive saves all the necessary assets (characters, audio, background images, etc.) required for your production, allowing for easier collaboration if more than one person is working on a project. For this reason, a CodeBaby Project Archive file is much larger than a CodeBaby Project file. To move your project with all its assets to another computer, simply move the CodeBaby Project Archive file and all the assets will be contained within it for easy use.
How do I rotate a character?The properties X, Y and Z determine which direction the character is facing, so scale does not matter. A 45 degree turn would be X=1 and Y=1, and a 90 degree turn would be X=1, Y=0. To rotate the character 90 degrees in the opposite direction, use X=-1 and Y=1.
1. Identify which character you'd like to use as a starting point.
2. Select its .cbcp and copy and paste it.
3. Rename it to something unique, like myNewCharacter.zip' (be sure to change the .cbcp file type to .zip)
4. Right click the file and extract the contents to a folder.
5. Open the folder.
6. Open the textures within in an image editor and make whatever changes you like, and save.
7. Select all of the assets, right-click one of them (while they're all still selected) and choose Send To Compressed Files
8. A new .zip file will have been created, change the file type from .zip to .cbcp
9. Cut and paste it to the desired location, possibly with all the other .cbcp's that came with CodeBaby Studio.
10. Open CodeBaby Studio and import the new .cbcp
Adding a texture to a .cbcp
You can also add additional textures to .cbcp's, like multiple hair textures or shirt textures. This enables the user to customize any character's texture within CodeBaby Studio.
The steps are identical to Modifying a texture within a .cbcp' except that the modified texture file is saved as a different file name. For example: when extracted, F006 has the following contents:
The character's hair is brown by default, so we colour it black and save it as seen below:
Next, we need to modify the pkgindex.xml, which lists the contents of the character package.
By default it is:
Change it as follows:
The TextureAssignment part is the region on the character the texture goes, and the file is the name of the texture file.
How to create an idle blink loop in FlashYou have exported your content, but find that at the end of each scene, your character(s) stare blankly. The solution to this is to add an idle blink loop to the end of each scene. The basic steps for doing this are:
1. In Studio, add the BASE_Stand animation to the end of the scene, causing the character to blink (depending on the idle animation).
2. In Flash, loop over this section so the character continues to blink.
The detailed steps are as follows:
You'll need to export your production as .flv's. Once you've done so, import your .flv's into Flash, making sure the Flash frame rate is identical to that of your exported .flv's.
Once you place your imported .flv's onto the Flash timeline, they will play back from start to finish in a loop. This is because the timeline they're placed on doesn't include an Action at the last frame that tells it to stop, or an advanced action script that tells the target video to stop on completion.
Below is a Flash Scene called 'content'. It has been broken up into 7 sections: d01, d02, d06, d07, d08, d10, and d12. Some of the layers go all the way across the entire timeline for the 'content' scene because they're global elements, which includes logos and other such branding that are meant to be displayed in each of the 7 sections. Logos and branding have been placed onto the timeline, rather than using ActionScript to do so, but feel free to use whichever method works best for you.
Each of the 7 sections are nearly the same: they each have a frame label and a key frame with a stop() frame action (this is approximately 10 frames into the section). The stop() frame action stops the main timeline for this section, but not the Movie symbols embedded in it.
You can see how each section has its own frame set on the CONTENT layer, which is where the Movie symbols are found.
The Movie symbols contain the imported Studio .flv's, as well as animated text and graphics. Below is the first Movie symbol, called 'welcome01', from the d01 section. The Studio content has been placed on the 'video' layer, while the graphics and text are on other layers.
If you scroll ahead to the end of this Movie symbol's timeline, you will see something similar to the image below. Notice that there is a stop() frame action script on the last frame that will cause this Movie symbol's timeline to stop.
Now that you know the basics, adding the Idle Blink loop is quick and easy. Below is the same Movie symbol, only it's been altered to accommodate the Idle Blink.
What is the Idle Blink? The Idle Blink gives the character the illusion of being alive, rather than just staring out blankly. In this example, there's a different frame action script: gotoAndPlay('blink'). This targets a key frame with the label name 'blink', which has been added to the timeline. Due to this keyframe, when Flash gets to the end of this Movie symbol, it will move back in the timeline by a small amount and loop around the last second or two of the imported .flv, which happens to contain animation of just the character blinking.
How do you know where to place this 'blink' frame label name? Scroll back from the end of the Flash timeline until you see your character's eyes blink. Try to get at least 24 - 40 frames between the 'blink' frame label name and the last frame with the frame action script.
Your character is set to blink every second or so. If you used Studio's Auto-Animate feature, as seen below, you will already have a 'BASE_Stand' cue at the end of the timeline.
What is the BASE_Stand? This sets the character's position back to a default pose, so when he/she is loaded in another SWF on the next page, it is a seamless transition. The character's end pose in one scene needs to be identical to his/her start pose in the next scene.
If you haven't used the Auto Animate feature, then you can simply grab a BASE_Stand node from the Assets Panel and manually drag and drop it at the end of your character's Animation track.
Lastly, you will need to make sure that the end of each scene has a couple of seconds of idle pose video in order to create the Idle Blink in Flash. Select the right side of your BASE_Stand cue on your timeline and stretch it out to the right, making it last for a couple of seconds. The BASE_Stand animation cue must be at the end of every scene you export in order to create an Idle Blink in Flash.
Lip-Sync Development - From Scratch
Please note - Modifications to the character (or creation of a new character) should only be done by users with experience in using 3DS Max or similar products. If done incorrectly, these modifications may result in errors with the associated animations. User assumes all risks associated with these modifications and these modifications are not covered by warranty.
Pre-created heads will always have their lip sync functioning and optimized for CodeBaby Studio. Creating a character from scratch will require you set up the phonemes and weights for the face so that the character can talk in CodeBaby Studio, which requires a time consuming process of exporting and testing the Phonemes by exporting every animation in Library One (not just the lip sync animation).
Possible Errors and Prevention: Object is neither linear or Bezier - Controllers on Keys Check failed. This error will be generated in 3ds Max. Our engine must read every piece of geometry as 'Linear'; anything else will generate an error. This error is easy to avoid by going through each piece of geometry and make sure its properties are set to 'Linear' when your modeling is complete. The best way to accomplish this will be to select your piece of geometry, go to your 'Motion Tab' and select your controller. Then set the Position, Rotation and Scale to 'Linear' by the 'Assign Controller' button. The final consideration to prevent errors is to ensure all of your geometry is parented to the 'Omen Base' which is a node or object specifically used by the Aurora Engine to get the character out of 3ds Max and into a form readable by CodeBaby Studio. You can test whether the geometry is parented properly by selecting the Omen Base and pressing the 'Export Model' button. A warning will pop up if the error was generated, if not, it will export the model quickly and cleanly. The Skeleton (Rig) and the character's Geometry are parented or linked to the Omen Base. You must have the geometry linked to the Omen Base for it to show up in CodeBaby Studio. With the Omen Base selected you are provided with two exporting options:
The 'Export Model + Anim' option will allow you to export the characters geometry and animations into an .mdl format, which is what CodeBaby Studio reads. This option is ideally used when the character is completed.
The Export Model option will allow you to export only the characters geometry and is generally used to view the mesh when texturing or making adjustments to the characters texture. When you bring this .mdl into CodeBaby Studio no animations will be present.
UV Mapping - From Scratch
If you have chosen to either create your Character from Scratch or Add/Delete your Geometry, you will have to create a new UV Map. When creating a new UV Map, keep it clean so that if you have to pass your 3ds Max file along to anyone else they will know what the map is pertaining to in the file.
Creating a UV Map from Scratch
When creating a UV Map from scratch, artists generally prefer to use an image to help them eliminate stretching throughout the map. If you decide to use the Procedural Checker Map in 3ds Max, please note that it can generate an error. You can still use the map, just take precautions to eliminate it after you have finished mapping.
Error Generation and Prevention: "Unknown property: "filename" in Map # Checker". This error will be generated in 3ds Max. After you have finished with your checker map, reset your materials. Go to your 'Utilities Menu' in your Material Editor and select 'Reset Material Editor Slots'. Assign a basic texture to everything, save and re-open the file. To make sure the checker pattern has been eliminated, highlight the Omen Base and 'Export Model'. No error should be generated.
Re-Using the Same Texture Space
To save on texture space you can reuse the same space for multiple UV Maps. The best example for this can be related to Hair. If you have multiple pieces of geometry being used as hair, you can UV Map the Hair Geometry and stack the UV's on top of each other in the same texture region. As long as it is clean and understandable this can work; plus you save space for other geometry pieces that will require a larger area for better resolution.
Mirroring UV's
Mirroring UV's can save you from trying to texture an entire region uniquely. A shirt or face for example, can be mirrored horizontally which will produce the result where both sides are the same. This can save time to allow you to create a good quality texture quickly. Just make sure that this is appropriate for your character, as some may prefer uniqueness on either side.
Texturing - From Scratch
UV Map
You can bring your UV Map into the program of your choice to texture, however you must save the final image as '.jpg' to be able to bring it into CodeBaby Studio. When saving your '.jpg' image out, make sure to keep the name to 16 characters or less because the engine is limited to having the '.jpg' names to 16 characters. An error will be generated in 3ds Max to tell you to shorten it if you forget. Simply rename the '.jpg' and re-export to view in CodeBaby Studio.
Image Size
Your texture size must be a power of 2 with a minimum of 64 x 64 pixels. At CodeBaby, the artist will generally work at a larger scale such as 3000 x 3000 pixels in the '.psd' file and save it out as a 1024 x 1024 pixel 'Save for Web' '.jpg'. If your texture does not show up inCodeBaby Studio make sure to double check these attributes of your '.jpg' file.
CodeBaby Studio
It's imperative to consider your texture in CodeBaby Studio rather than how it looks assigned to the character in 3ds Max. In order to do this keep two things in mind:
Exporting the Geometry. To view your geometry without the animations, make sure all geometry is parented to the Omen base (in most cases the hair will be parented to the head bone which will still export perfectly) and with the Omen Base selected; press the 'Export Model' button. Bring this mdl into CodeBaby Studio to view the characters geometry and texture.
The Diffuse Color. The 'Diffuse' color of a material will dictate how the shadows will look on the character in CodeBaby Studio. Never leave the diffuse color as the default grey, but unless you create a texture from scratch, you shouldn't have to worry about this. If you do create a texture from scratch, simply change the 'Diffuse' color from grey to a lighter pastel color of the assigned texture and this will work well in most situations. Then bring your 'Export Model' .mdl into CodeBaby Studio to view. Continue to repeat the process and tweak until you come to a desired result.
Weighting - From Scratch
Weighting for our characters is basic; it does not use influence objects or set driven keys to generate deformations. Simply applying a 'Skin' modifier and weighting appropriately will generate the desired result in most cases. If you are creating a character with a larger body keep in mind that collisions may occur.  .
Tester Animations
It is recommended to weight characters using the provided 'Tester Animations' that come with the characters and move the character to test out weighting.
If you wish to generate your own 'Tester Animations' you must be very careful and always have 'Auto Key' on to key your movements as you do not want to accidentally move the rig. Moving the rig can potentially result in altering the animations in the 3ds Max file you are working in; resulting in a corrupted animation library. Create the 'Tester Animations' before 'Ze
* Under the main File menu, select File -> Export
* In the Export Scenes window, set "Export Format: Flash Video"
* Click the Flash Configuration's Change button.
* In the Flash Export Configuration window, set the Video: File Type: FLV (export only)
* Click OK button
* Click the Export button
How to handle Flash Global Security settingsWhen CodeBaby Studio developers publish their content and include an HTML wire frame, the following message is added to that HTML page:
Flash Video Troubleshooting
(Flash Player 8 only) If you are viewing this CodeBaby Flash content locally on your computer, a dialog box might appear alerting you that the content is trying to communicate with the Internet. Flash Player 8 doesn't allow the local Flash content to communicate with the Internet, by default.
Using the Global Security Settings Panel, you can specify that certain Flash applications on your computer may communicate with the Internet. To change your security settings or learn more about your options, see the Flash Player help on the Global Security Settings Panel page.
Navigate to Adobe's Global Security Settings Panel, you can set the Adobe Flash Player Settings Manager to 'Always Allow'. Add to a trusted location which is located on the same form.
CodeBaby doesn't currently have an established process for Exporting CodeBaby Studio video for DVD, but there are steps you can take to export to DVD.
Potential Issues or Errors:
After, finishing rendering the file, the media player gives an error saying it was an "unsupported file"".
Test this video in
Adobe After Effects to see if it can be used. Your media player may be choking on the huge 2GB file at a bit rate that exceeds your computer's capability.
You may have accidentally encoded the video or audio to a peculiar format during Export. Verify these settings.
Export a small 5 second segment and see if it works in the media player or in
Adobe After Effects.
Another potential problem is that you have limited space on your computer and, laptop and as a result, there is no way to, do more than one, batch run without running out of space before it's complete.
Focus on one batch run and then back it up onto data DVD's, then do the next and so on.
You can also use video compression but this can be, tricky. The
TechSmith Codec imports safely into Flash.
Recommended process for CodeBaby Studio to DVD:
Studio Exports Uncompressed AVI, > Video Editor/Compositor Renders an Uncompressed AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Note: Some DVD Authoring programs use AVI's and convert to MPEG2 during burning. Your process is breaking down at the red arrow above, and you're running out of space.
Compress the video during (or after) Export to get around both problems:
Studio Exports DV-AVI (semi-compressed AVI) > Video Editor/Compositor Renders a DV-AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Studio Exports MPEG2 (DVD's native format) > Video Editor/Compositor Renders an identical quality MPEG2 > DVD Authoring program > DVD disc
Studio Exports TechSmith AVI > Video Editor/Compositor Renders an identical quality TechSmith AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Try MPEG2 or Huffyyuv.
The native DVD format of MPEG2 is a Lossy format, so there's going to be some lost quality from the original Export no matter what process you use. The standard process for DVD Authoring is to not compress to MPEG until the last moment, but in your case, you may need to work with compressed files, like MPEG2. There're different qualities of MPEG2, and we use High Quality, which fits one hour of video onto a standard 4.3 GB disc. We work with HQ MPEG2 encoded files in the video editor.
The standard solution to compress AVI's for video production and subsequent DVD Authoring is to use codec called Huffyuv. That will Export compressed AVI's for use in your video editor, and then compress again to MPEG2.
How to modify an Existing Character
Modifying an Existing Character is the most efficient and cost effective way to create your own customized Virtual Agent.
Geometry – Existing Model
There are a few things to keep in mind when creating a character with existing geometry.
Deleting and Adding Geometry
Modeling is the first thing you focus on when you create or modify a character and it will affect any step after this because any existing UV Maps or weights could be potentially altered. With this in mind, you may have to recreate your UV Map to accommodate your changes and double check your weights to make sure they are functioning correctly.
Editing to the head or face is not advised because this can potentially alter the Lip-sync animation which dictates how the character will talk in CodeBaby Studio. If altered in any way it can potentially cause up to days of work to repair.
No Alterations to Geometry
Moving vertices to adjust your mesh will not affect steps following modeling, as long as you don’t add or remove polygons. You can still change flip and assign normals to help change the appearance in CodeBaby Studio.
UV Mapping – Existing Model
In general the UV Map will not require editing unless you alter your geometry. If you have added or deleted Geometry, you will have to create a new UV Map. When creating a new UV Map, keep it clean so that if you have to pass your 3ds Max file along to anyone else they will know what the map is pertaining to in the file.
Creating a UV Map from Scratch
When creating a UV Map from scratch, artists generally prefer to use an image to help them eliminate stretching throughout the map. If you decide to use the Procedural Checker Map in 3ds Max, please note that it can generate an error. You can still use the map, just take precautions to eliminate it after you have finished mapping.
Possible Errors and Prevention: “Unknown property: “filename†in Map # Checkerâ€. This error will be generated in 3ds Max. After you have finished with your checker map, reset your materials. Go to your ‘Utilities Menu’ in your Material Editor and select ‘Reset Material Editor Slots’. Assign a basic texture to everything, save and re-open the file. To make sure the checker pattern has been eliminated, highlight the Omen Base and ‘Export Model’. No error should be generated.
Re-Using the Same Texture Space
To save on texture space you can reuse the same space for multiple UV Maps. The best example for this can be related to Hair. If you have multiple pieces of geometry being used as hair, you can UV Map the Hair Geometry and stack the UV’s on top of each other in the same texture region. As long as it is clean and understandable this can work; plus you save space for other geometry pieces that will require a larger area for better resolution.
Mirroring UV’s
Mirroring UV’s can save you from trying to texture an entire region uniquely. A shirt or face for example, can be mirrored horizontally which will produce the result where both sides are the same. This can save time to allow you to create a good quality texture quickly. Just make sure that this is appropriate for your character, as some may prefer uniqueness on either side.
Texturing – Existing Model
UV Map
You can bring your UV Map into the program of your choice to texture, however you must save the final image as ‘.jpg’ to be able to bring it into CodeBaby Studio. When saving your ‘.jpg’ image out, make sure to keep the name to 16 characters or less because the engine is limited to having the ‘.jpg’ names to 16 characters. An error will be generated in 3ds Max to tell you to shorten it if you forget. Simply rename the ‘.jpg’ and re-export to view in CodeBaby Studio.
Image Size
Your texture size must be a power of 2 with a minimum of 64 x 64 pixels. At CodeBaby, the artist will generally work at a larger scale such as 3000 x 3000 pixels in the ‘.psd’ file and save it out as a 1024 x 1024 pixel ‘Save for Web’ ‘.jpg’. If your texture does not show up in CodeBaby Studio make sure to double check these attributes of your ‘.jpg’ file.
CodeBaby Studio
It’s imperative to consider your texture in CodeBaby Studio rather than how it looks assigned to the character in 3ds Max. In order to do this keep two things in mind:
Exporting the Geometry. To view your geometry without the animations, make sure all geometry is parented to the Omen base (in most cases the hair will be parented to the head bone which will still export perfectly) and with the Omen Base selected; press the ‘Export Model’ button. Bring this mdl into CodeBaby Studio to view the characters geometry and texture.
The Diffuse Color. The ‘Diffuse’ color of a material will dictate how the shadows will look on the character in CodeBaby Studio. Never leave the diffuse color as the default grey, but unless you create a texture from scratch, you shouldn’t have to worry about this. If you do create a texture from scratch, simply change the ‘Diffuse’ color from grey to a lighter pastel color of the assigned texture and this will work well in most situations. Then bring your ‘Export Model’ mdl into CodeBaby Studio to view. Continue to repeat the process and tweak until you come to a desired result.
Weighting – Existing Model
Weighting for our characters is basic; it does not use influence objects or set driven keys to generate deformations. Simply applying a ‘Skin’ modifier and weighting appropriately will generate the desired result in most cases. If you are creating a character that is heavier, such as one with a belly, keep in mind that collisions may occur.
If you weight from an existing model that you haven’t adjusted or have made minor alterations to, simply go through the animations in 3ds Max to make sure all of your weights for that piece are functioning properly. Adjust the weights accordingly using the existing animations in the 3ds Max file as ‘Tester Animations’ and scrub through the time line and make note of your weights.
Rigging – Existing Model
You should never alter the skeleton or any aspect of the rig in any way. There are three Animation Libraries in three separate 3ds Max files. The skeleton or rig in each file contains the keyed animations for those libraries. Altering the rig can potentially destroy the animation library in that 3ds Max file.
Possible Errors and Prevention: If the skeleton has been altered in some way, open up the original files provided to you and run through the ‘Hierarchy’ in the ‘Schematic View’ to compare rigs. If you have found a discrepancy, please feel free to contact us as we may be able to help you and preserve the work you have done on your character.
Animations – Existing Model
You should never be required to create character animations from scratch or edit existing animations. However, you can edit and add animations at your own risk if you want to create new animations yourself.
Each 3ds Max file or Library contains an Omen Base and skeleton with unique information and animations. In order to export and combine all of the libraries into one, you must have all of the Omen Base names the same. Each character consist of three Animation Libraries or three 3ds Max files. The files will be labeled with the numbers in the File name. For example:
NameTester_1.max
NameTester_2.max
NameTester_3.max
Two types of animations; Overlay and Base Animations
Base Animations take precedence over Overlay Animations and can be recognized by looking at the ‘Anim Root’ because it will be the same as the Omen Base name. An animation root is what the Animation uses as a reference for its animation. Base Animations include walking, sitting and standing and are only found in the First Animation Library with most havi
This action gives you the flexibility to set a custom response to a given event. If you're publishing for the web, this event can be handled by custom JavaScript code.
To add an event key for an external action in Production Studio, drag an Events key onto the track and double click it. The Action Editor will pop up and you can choose 'perform an external action'. The name of the action must be filled in so that the JavaScript knows which external action is being performed. The Events key will be an empty diamond if an action hasn't been assigned to it, and will be a filled diamond if one has. If you want an event to coincide with the start or end of an animation cue, simply set its start time so it's the same as the animation's start or end time.
How to tell if your exported .swf's have a transparent backgroundYou have exported a .swf file with a transparent background and followed all of the instructions (checking "preserve transparency" in the Export dialog box). But, when you take a look at the .swf file, it appears with a black background.
The SWF will appear to have a black background, but the black area is transparent. In Studio the background should appear white (default colour):
After exporting to a SWF, it will appear to have a black background:
Once the .swf(s) are added to your deployment, the area around the character should be transparent.
How to update Lip Sync and .wav and .mp3 filesThe scenario may occur where your audio files have changed (for example, more content was added to them or the voice was changed) and it's necessary to update the current audio and lip sync files in your production. The following are the steps to update audio/LTF files in your project by replacing them outside Studio.
Open Studio with a blank .cbp. Under the Studio Tools Menu, select Create LipSync from Audio.
Select the audio file you wish to generate the .ltf from and click Open. It is suggested that you use .wav or .mp3 files (PCM Mono 16 Bit 44kHz) and not .wav's because when you export your content out of Production Studio to a .swf, the audio will get compressed twice without saving file size.
Click Create to create the .ltf from the audio file you selected.
Once complete, click Close and then exit out of Studio.
Navigate to the directory where the updated audio file was placed and select it and the corresponding .ltf (which is always placed into the same directory as the source file). Copy these two assets into the directory that holds all your other assets. If you've already placed a new audio file in place of the old one, the .ltf you have been using will be overwritten without prompt or warning.
I get an error when I use an audio file longer than 2 minutesThis issue more than likely has to do with a limitation we experience on some machines with AVI files exceeding 2 GB in size. There is also a 4 GB file limit on all AVI files (this is a limitation of the file format itself). Try using a compressed format for the AVI:
1) Open the Export window
2) Click on the "Change" button next to "AVI Configuration"
3) Click the "Video Setup" button
4) Change the codec to something other than Full Frames (uncompressed). For example, "Cinepak Codec by Radius"
If a character walks in from off-screen, they appear in the first frame of animationYou will find when you export / publish that the character is visible in the first frame (sometimes more) of the exported / published video. This is because the stage you are using has set the initial character position to the middle of the screen, and this is how the character is positioned at the start of the video. To resolve this:
1) Make a new stage (via the + button near the top of the Property Inspector). It's recommended to naming this stage to something sensible, like "Invisible Model" (this will make more sense later).
2) Click on the multi-track header for your character. The Property Inspector should show all of the initial settings for that character.
3) Set the Visible property to false. This makes the character invisible at the start of the scene.
4) In the scene, drag on a visibility key near the start of the scene, and set the visibility to true. This makes the character visible again.
5) Under the Projects tab > Export, selecting the new stage in the "Export Scenes" dialog.
This should resolve the problem with seeing the character in the first one or two frames of the video.
Internal error encountered when exportingThe error arises from the fact that the AVI that is generated during the capture phase of the video export is too large for the Flash encoder.
Try changing the stage settings to lower than 600 by 600 pixels:
1) Select the "Assets Panel"
2) Under "Stage Settings", select "Console"
3) In the "Property Inspector", change the "Video Width" and "Video Height" to lower values (i.e. 500 by 500)
Additionally, you can try using an AVI codec that compresses the video.
My character seems to use an animation too frequentlyThe animations are selected using a weighted probability table, which is stored as an XML file in the CodeBaby install folder, e.g. C:\Program Files\CodeBaby Production Studio\Program\default_weight_table.xml. You can adjust the probability of the selected animations by making simple changes to this file. We suggest making a copy of the original file, in case an accidental change makes it unreadable. To reduce the probablility of animation being selected, search for the animation in the file. It should be in a tag, which is contained in a tag. For example: In this example, the in-weight (relative probability of selecting this as the first animation) and the mid-weight (rel. prob. of selecting this animation afterwards) are both 4; you can reduce one or both of these to reduce the chances of it being selected. Note that the out-weight (for the last animation) is 0 for all operations except for BASE_Stand, so that a BASE_Stand is always the last animation.
My characters mouth hangs open for a moment before speakingThis is caused by an audio file with a long bit of dead air at the start. Try editing the audio file to remove the dead air. Then delete the lip sync cue file from the scene, as well as the lip sync asset and the audio file from the assets panel. Then re-import the audio and recreate the lip sync.
What is a model instance?Most productions have one instance of a model which is animated (i.e. waving. lip sync to a sound file and displaying speech bubbles). However, it is possible to have more than one instance of a model. For example, suppose three pens are needed on a desk. Rather than importing a pen model three times, you simply create three instances of a pen model.
A model must have an associated model instance in order to display in CodeBaby Studio. Model instances are represented by separate multi-tracks in the Timeline. A model instance is automatically created when you import a model file into CodeBaby Studio. However, you can create more instances of a given model by right-clicking on the model asset in the Assets Panel and selecting New Character/Prop Instance or by right-clicking on the character's multitrack and selecting Insert Character Instance.
You'll see two identical characters:
Changing the textures of one character instance can alter its appearance. The following steps describe this process.
1. Go to the folder that contains this character's textures and make a copy of each texture you want to change.
2. Open the textures in Photoshop (or another image editor) and make the desired changes.
3. Save as new texture files.
4. Import the textures into CodeBaby Studio and assign each one to the character and the corresponding region (shirt to shirt, hair to hair).
5. On the Timeline, select the character multi-track that corresponds to the instance whose appearance you wish to alter.
6. In the Property Inspector, select a new texture for each texture region you'd like to change.
The results below display the difference in appearance between the two character instances.
The textures are not the only property that can be changed to distinguish one character instance from another. The name of the character instance, for example, can also be altered in the Assets Panel:
There is no limit to the number of textures that can be imported into CodeBaby Studio. Using instances with different textures is one way of easily creating numerous distinctive characters in your projects.
As an alternative,
Audacity is free, open source software for recording and editing sounds.
When I add a character or prop instance, why does it get added to all the scenes?Adding a character/prop instance, whether by importing or by simply adding a new instance of an existing character/prop, always adds a multi-track corresponding to that instance to the Timeline. You'll notice that a multi-track for each instance is added to every scene in the project. This is because instances exist for an entire project and are accessible in each scene. Deleting an instance multi-track in one scene will delete it in all the scenes because you are deleting the instance itself from the project.
For convenience, you can set stage settings for an instance that apply to all the scenes in the stage. For example, if you want a character to be in the same position for every scene, you simply need to change it for the stage.
Why can't I delete the Scene or Camera 1 multi-tracks?You'll notice that there are two multi-tracks in each scene that cannot be deleted. The first is the Scene multi-track and the second is the Camera 1 multi-track (this is the camera multi-track that is added when you begin a new project).
The Scene multi-track cannot be deleted because there is no way to add it back again, it corresponds to a particular scene and must always be available for it. A scene multi-track only gets added when a new scene is added to the project, and consequently, only gets deleted when the corresponding scene is also deleted.
The Camera 1 multi-track corresponds to the default camera. The default camera cannot be deleted from the project and must always exist in the scene, therefore, its multi-track also cannot be deleted.
1: Users found this article helpful. 0: Users did not find this article helpful.
How to add or modify textures within a .cbcp
Modifying a texture within a .cbcp
1. Identify which character you'd like to use as a starting point.
2. Select its .cbcp and copy and paste it.
3. Rename it to something unique, like myNewCharacter.zip' (be sure to change the .cbcp file type to .zip)
4. Right click the file and extract the contents to a folder.
5. Open the folder.
6. Open the textures within in an image editor and make whatever changes you like, and save.
7. Select all of the assets, right-click one of them (while they're all still selected) and choose Send To Compressed Files
8. A new .zip file will have been created, change the file type from .zip to .cbcp
9. Cut and paste it to the desired location, possibly with all the other .cbcp's that came with CodeBaby Studio.
10. Open CodeBaby Studio and import the new .cbcp
Adding a texture to a .cbcp
You can also add additional textures to .cbcp's, like multiple hair textures or shirt textures. This enables the user to customize any character's texture within CodeBaby Studio.
The steps are identical to Modifying a texture within a .cbcp' except that the modified texture file is saved as a different file name. For example: when extracted, F006 has the following contents:
The character's hair is brown by default, so we colour it black and save it as seen below:
Next, we need to modify the pkgindex.xml, which lists the contents of the character package.
By default it is:
Change it as follows:
The TextureAssignment part is the region on the character the texture goes, and the file is the name of the texture file.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to modify an Existing Character
How to modify an Existing Character
Modifying an Existing Character is the most efficient and cost effective way to create your own customized Virtual Agent.
Geometry – Existing Model
There are a few things to keep in mind when creating a character with existing geometry.
Deleting and Adding Geometry
Modeling is the first thing you focus on when you create or modify a character and it will affect any step after this because any existing UV Maps or weights could be potentially altered. With this in mind, you may have to recreate your UV Map to accommodate your changes and double check your weights to make sure they are functioning correctly.
Editing to the head or face is not advised because this can potentially alter the Lip-sync animation which dictates how the character will talk in CodeBaby Studio. If altered in any way it can potentially cause up to days of work to repair.
No Alterations to Geometry
Moving vertices to adjust your mesh will not affect steps following modeling, as long as you don’t add or remove polygons. You can still change flip and assign normals to help change the appearance in CodeBaby Studio.
UV Mapping – Existing Model
In general the UV Map will not require editing unless you alter your geometry. If you have added or deleted Geometry, you will have to create a new UV Map. When creating a new UV Map, keep it clean so that if you have to pass your 3ds Max file along to anyone else they will know what the map is pertaining to in the file.
Creating a UV Map from Scratch
When creating a UV Map from scratch, artists generally prefer to use an image to help them eliminate stretching throughout the map. If you decide to use the Procedural Checker Map in 3ds Max, please note that it can generate an error. You can still use the map, just take precautions to eliminate it after you have finished mapping.
Possible Errors and Prevention: “Unknown property: “filename†in Map # Checkerâ€. This error will be generated in 3ds Max. After you have finished with your checker map, reset your materials. Go to your ‘Utilities Menu’ in your Material Editor and select ‘Reset Material Editor Slots’. Assign a basic texture to everything, save and re-open the file. To make sure the checker pattern has been eliminated, highlight the Omen Base and ‘Export Model’. No error should be generated.
Re-Using the Same Texture Space
To save on texture space you can reuse the same space for multiple UV Maps. The best example for this can be related to Hair. If you have multiple pieces of geometry being used as hair, you can UV Map the Hair Geometry and stack the UV’s on top of each other in the same texture region. As long as it is clean and understandable this can work; plus you save space for other geometry pieces that will require a larger area for better resolution.
Mirroring UV’s
Mirroring UV’s can save you from trying to texture an entire region uniquely. A shirt or face for example, can be mirrored horizontally which will produce the result where both sides are the same. This can save time to allow you to create a good quality texture quickly. Just make sure that this is appropriate for your character, as some may prefer uniqueness on either side.
Texturing – Existing Model
UV Map
You can bring your UV Map into the program of your choice to texture, however you must save the final image as ‘.jpg’ to be able to bring it into CodeBaby Studio. When saving your ‘.jpg’ image out, make sure to keep the name to 16 characters or less because the engine is limited to having the ‘.jpg’ names to 16 characters. An error will be generated in 3ds Max to tell you to shorten it if you forget. Simply rename the ‘.jpg’ and re-export to view in CodeBaby Studio.
Image Size
Your texture size must be a power of 2 with a minimum of 64 x 64 pixels. At CodeBaby, the artist will generally work at a larger scale such as 3000 x 3000 pixels in the ‘.psd’ file and save it out as a 1024 x 1024 pixel ‘Save for Web’ ‘.jpg’. If your texture does not show up in CodeBaby Studio make sure to double check these attributes of your ‘.jpg’ file.
CodeBaby Studio
It’s imperative to consider your texture in CodeBaby Studio rather than how it looks assigned to the character in 3ds Max. In order to do this keep two things in mind:
Exporting the Geometry. To view your geometry without the animations, make sure all geometry is parented to the Omen base (in most cases the hair will be parented to the head bone which will still export perfectly) and with the Omen Base selected; press the ‘Export Model’ button. Bring this mdl into CodeBaby Studio to view the characters geometry and texture.
The Diffuse Color. The ‘Diffuse’ color of a material will dictate how the shadows will look on the character in CodeBaby Studio. Never leave the diffuse color as the default grey, but unless you create a texture from scratch, you shouldn’t have to worry about this. If you do create a texture from scratch, simply change the ‘Diffuse’ color from grey to a lighter pastel color of the assigned texture and this will work well in most situations. Then bring your ‘Export Model’ mdl into CodeBaby Studio to view. Continue to repeat the process and tweak until you come to a desired result.
Weighting – Existing Model
Weighting for our characters is basic; it does not use influence objects or set driven keys to generate deformations. Simply applying a ‘Skin’ modifier and weighting appropriately will generate the desired result in most cases. If you are creating a character that is heavier, such as one with a belly, keep in mind that collisions may occur.
If you weight from an existing model that you haven’t adjusted or have made minor alterations to, simply go through the animations in 3ds Max to make sure all of your weights for that piece are functioning properly. Adjust the weights accordingly using the existing animations in the 3ds Max file as ‘Tester Animations’ and scrub through the time line and make note of your weights.
Rigging – Existing Model
You should never alter the skeleton or any aspect of the rig in any way. There are three Animation Libraries in three separate 3ds Max files. The skeleton or rig in each file contains the keyed animations for those libraries. Altering the rig can potentially destroy the animation library in that 3ds Max file.
Possible Errors and Prevention: If the skeleton has been altered in some way, open up the original files provided to you and run through the ‘Hierarchy’ in the ‘Schematic View’ to compare rigs. If you have found a discrepancy, please feel free to contact us as we may be able to help you and preserve the work you have done on your character.
Animations – Existing Model
You should never be required to create character animations from scratch or edit existing animations. However, you can edit and add animations at your own risk if you want to create new animations yourself.
Each 3ds Max file or Library contains an Omen Base and skeleton with unique information and animations. In order to export and combine all of the libraries into one, you must have all of the Omen Base names the same. Each character consist of three Animation Libraries or three 3ds Max files. The files will be labeled with the numbers in the File name. For example:
NameTester_1.max
NameTester_2.max
NameTester_3.max
Two types of animations; Overlay and Base Animations
Base Animations take precedence over Overlay Animations and can be recognized by looking at the ‘Anim Root’ because it will be the same as the Omen Base name. An animation root is what the Animation uses as a reference for its animation. Base Animations include walking, sitting and standing and are only found in the First Animation Library with most havi
0: Users found this article helpful. 0: Users did not find this article helpful.
Character customization and development best practices
Having a background in 3ds Max is required for character customization and development because attempting to edit a character without this basic knowledge can produce undesired results and frustrating situations.
Please note - Modifications to the character (or creation of a new character) should only be done by users with experience in using 3DS Max or similar products. If done incorrectly, these modifications may result in errors with the associated animations. User assumes all risks associated with these modifications and these modifications are not covered by warranty.
Animation Guide
When modifying or developing any character, make sure to go through CodeBaby's Animation Guide to familiarize yourself with the process of creating a character.
The CodeBaby Animation Guide is designed to aid those who wish to edit characters on their own. This guide would be best utilized by someone who has experience with 3ds Max versions 3.0 through 8.0. Modeling, texturing, rigging/weighting, lighting and animation basics should ideally be known.
The Animation Guide will cover installation of the Aurora Scripts and pertinent information concerning the scripts and issues that relate the scripts to modeling, texturing, rigging/weighting, lighting and animation. The CodeBaby Model Exporter scripts allow model and animation data to be exported from 3ds Max to the CodeBaby Graphics Engine, which are used by the CodeBaby Player and CodeBaby Studio.
The Animation Guide is written with the use of 3ds Max 5.0, some buttons and work flows will differ. You should be able to achieve the same results with a different version of 3ds Max.
Planning
An important consideration for planning the modification or development of a character, is to gather as much reference material as you can before you start. References for hair, face, body, skin color, clothes etc as this will give you a good base to pull resources from. Having a clear picture as to how you want your character to turn can eliminate extra time spent on touchups later.
When working on your character, it is most important to pay attention in the modeling and texturing process to avoid errors from being generated when you export your character.
Save, Save, Save
When you have completed a major part of your character in 3ds Max or testing out an idea, always make a copy to go back to if you take your file to the point of no return.
Multiple Characters
When completing multiple characters, most often you will have your Omen Base named in accordance to the engine limit for letters and specified for each character. Your Omen Base name must be easily recognized by other people seeing it without having worked on the character.
.cbcp
A .cbcp is a CodeBaby Character Package, or .zip file that contains all of the contents to load a character into CodeBaby Studio; including a character '.mdl', a light rig '.mdl' and the '.jpg's for the characters texture. An XML file will tell CodeBaby Studio which '.jpg's will go where on the character.
It is good practice to make an image .pdf that showcases pictures of characters and includes labels with their corresponding .cbcp name and any other pertinent information for ease of use in CodeBaby Studio.
Modeling
There may be multiple files to edit when customizing your character; including 3ds Max and Texturing files ('.jpg' and '.psd' files). When editing the character's geometry, you will have three 3ds Max files and must ensure that edits are made in the first library. You will know which is the first library because it will always have the number '1' in the file name and once open, will contain the Lip-sync animation in the 3ds Max file one or Animation Library One.
1: Users found this article helpful. 1: Users did not find this article helpful.
How to develop a character from scratch
Lip-Sync Development - From Scratch
Please note - Modifications to the character (or creation of a new character) should only be done by users with experience in using 3DS Max or similar products. If done incorrectly, these modifications may result in errors with the associated animations. User assumes all risks associated with these modifications and these modifications are not covered by warranty.
Pre-created heads will always have their lip sync functioning and optimized for CodeBaby Studio. Creating a character from scratch will require you set up the phonemes and weights for the face so that the character can talk in CodeBaby Studio, which requires a time consuming process of exporting and testing the Phonemes by exporting every animation in Library One (not just the lip sync animation).
Possible Errors and Prevention: Object is neither linear or Bezier - Controllers on Keys Check failed. This error will be generated in 3ds Max. Our engine must read every piece of geometry as 'Linear'; anything else will generate an error. This error is easy to avoid by going through each piece of geometry and make sure its properties are set to 'Linear' when your modeling is complete. The best way to accomplish this will be to select your piece of geometry, go to your 'Motion Tab' and select your controller. Then set the Position, Rotation and Scale to 'Linear' by the 'Assign Controller' button. The final consideration to prevent errors is to ensure all of your geometry is parented to the 'Omen Base' which is a node or object specifically used by the Aurora Engine to get the character out of 3ds Max and into a form readable by CodeBaby Studio. You can test whether the geometry is parented properly by selecting the Omen Base and pressing the 'Export Model' button. A warning will pop up if the error was generated, if not, it will export the model quickly and cleanly. The Skeleton (Rig) and the character's Geometry are parented or linked to the Omen Base. You must have the geometry linked to the Omen Base for it to show up in CodeBaby Studio. With the Omen Base selected you are provided with two exporting options:
The 'Export Model + Anim' option will allow you to export the characters geometry and animations into an .mdl format, which is what CodeBaby Studio reads. This option is ideally used when the character is completed.
The Export Model option will allow you to export only the characters geometry and is generally used to view the mesh when texturing or making adjustments to the characters texture. When you bring this .mdl into CodeBaby Studio no animations will be present.
UV Mapping - From Scratch
If you have chosen to either create your Character from Scratch or Add/Delete your Geometry, you will have to create a new UV Map. When creating a new UV Map, keep it clean so that if you have to pass your 3ds Max file along to anyone else they will know what the map is pertaining to in the file.
Creating a UV Map from Scratch
When creating a UV Map from scratch, artists generally prefer to use an image to help them eliminate stretching throughout the map. If you decide to use the Procedural Checker Map in 3ds Max, please note that it can generate an error. You can still use the map, just take precautions to eliminate it after you have finished mapping.
Error Generation and Prevention: "Unknown property: "filename" in Map # Checker". This error will be generated in 3ds Max. After you have finished with your checker map, reset your materials. Go to your 'Utilities Menu' in your Material Editor and select 'Reset Material Editor Slots'. Assign a basic texture to everything, save and re-open the file. To make sure the checker pattern has been eliminated, highlight the Omen Base and 'Export Model'. No error should be generated.
Re-Using the Same Texture Space
To save on texture space you can reuse the same space for multiple UV Maps. The best example for this can be related to Hair. If you have multiple pieces of geometry being used as hair, you can UV Map the Hair Geometry and stack the UV's on top of each other in the same texture region. As long as it is clean and understandable this can work; plus you save space for other geometry pieces that will require a larger area for better resolution.
Mirroring UV's
Mirroring UV's can save you from trying to texture an entire region uniquely. A shirt or face for example, can be mirrored horizontally which will produce the result where both sides are the same. This can save time to allow you to create a good quality texture quickly. Just make sure that this is appropriate for your character, as some may prefer uniqueness on either side.
Texturing - From Scratch
UV Map
You can bring your UV Map into the program of your choice to texture, however you must save the final image as '.jpg' to be able to bring it into CodeBaby Studio. When saving your '.jpg' image out, make sure to keep the name to 16 characters or less because the engine is limited to having the '.jpg' names to 16 characters. An error will be generated in 3ds Max to tell you to shorten it if you forget. Simply rename the '.jpg' and re-export to view in CodeBaby Studio.
Image Size
Your texture size must be a power of 2 with a minimum of 64 x 64 pixels. At CodeBaby, the artist will generally work at a larger scale such as 3000 x 3000 pixels in the '.psd' file and save it out as a 1024 x 1024 pixel 'Save for Web' '.jpg'. If your texture does not show up inCodeBaby Studio make sure to double check these attributes of your '.jpg' file.
CodeBaby Studio
It's imperative to consider your texture in CodeBaby Studio rather than how it looks assigned to the character in 3ds Max. In order to do this keep two things in mind:
Exporting the Geometry. To view your geometry without the animations, make sure all geometry is parented to the Omen base (in most cases the hair will be parented to the head bone which will still export perfectly) and with the Omen Base selected; press the 'Export Model' button. Bring this mdl into CodeBaby Studio to view the characters geometry and texture.
The Diffuse Color. The 'Diffuse' color of a material will dictate how the shadows will look on the character in CodeBaby Studio. Never leave the diffuse color as the default grey, but unless you create a texture from scratch, you shouldn't have to worry about this. If you do create a texture from scratch, simply change the 'Diffuse' color from grey to a lighter pastel color of the assigned texture and this will work well in most situations. Then bring your 'Export Model' .mdl into CodeBaby Studio to view. Continue to repeat the process and tweak until you come to a desired result.
Weighting - From Scratch
Weighting for our characters is basic; it does not use influence objects or set driven keys to generate deformations. Simply applying a 'Skin' modifier and weighting appropriately will generate the desired result in most cases. If you are creating a character with a larger body keep in mind that collisions may occur.  .
Tester Animations
It is recommended to weight characters using the provided 'Tester Animations' that come with the characters and move the character to test out weighting.
If you wish to generate your own 'Tester Animations' you must be very careful and always have 'Auto Key' on to key your movements as you do not want to accidentally move the rig. Moving the rig can potentially result in altering the animations in the 3ds Max file you are working in; resulting in a corrupted animation library. Create the 'Tester Animations' before 'Ze
0: Users found this article helpful. 2: Users did not find this article helpful.
How do I enable anti-aliasing on my video card
Please check the documentation for your video card first, as the method for enabling anti-aliasing varies between video cards, and some may not support it.
Also, please note that these images are for a specific video card, and the steps required may be different for your hardware.
Initially, you have to ensure that video acceleration is turned on. This is typically turned on by default, but can be checked and turned on in this same "Advanced"dialog, but on the "Troubleshoot" tab. Slide the "Hardware acceleration:"slider all of the way to the right:
If you don't have easy access to your video card documentation, you can try going to the Start > Setting > Control Panel > Display and select the Settings tab. Click on the "Advanced" button and there may be a tab in that advanced dialog that gives you access to your video card's settings.
0: Users found this article helpful. 0: Users did not find this article helpful.
Can I use mp3 files as my audio source?
Yes, we support mp3 imports as well as WAV files. We don't recommend using compressed audio sources (such as ogg), since they are compressed again in the video, which can lead to poor audio quality.
1: Users found this article helpful. 1: Users did not find this article helpful.
How do I move a CodeBaby Studio license between computers
How do I move a Studio license between computers?
You can move your license from one computer to another. Once the license has been moved from a computer, that computer can no longer run Studio, until the license has been moved back.
Two computers are always involved in a move (from Computer A to Computer B):
* Computer A: the currently licensed computer
* Computer B: the destination computer, that is, the computer to which you wish to move the license
Moving a license is a 4-step process. They are listed below, and explained in detail afterwards:
1. Install Studio on Computer B (the destination computer), if not already installed.
2. Obtain the registration key from Computer B.
3. Obtain the license key from Computer A (the currently licensed computer).
4. Enter the license key into Computer B.
Once the license is moved, Computer B should have the same expiration date and feature access that Computer A had. Computer A will no longer be licensed for Studio. The license may be moved back to Computer A.
Note: Moving a license from one computer to another overwrites any existing license on the destination computer. That existing license is PERMANENTLY DESTROYED.
To install:
1. Install CodeBaby Studio on the new workstation.
2. Launch CodeBaby Studio on the new workstation.
3. The Update License window will appear, record the Registration key.
4. On the original work station, launch CodeBaby Studio.
5. Click on the CodeBaby Studio application button.
6. Select License.
7. Select Move License.
8. Enter the Registration key from the new workstation that you recorded earlier.
9. Click on Generate License Key, record the license key.
10. On the new work station, enter the License key.
11. Click on Update License.
Note: CodeBaby Studio on the original workstation will now be disabled.
1: Users found this article helpful. 0: Users did not find this article helpful.
When I add a character or prop instance, why does it get added to all the scenes?
Adding a character/prop instance, whether by importing or by simply adding a new instance of an existing character/prop, always adds a multi-track corresponding to that instance to the Timeline. You'll notice that a multi-track for each instance is added to every scene in the project. This is because instances exist for an entire project and are accessible in each scene. Deleting an instance multi-track in one scene will delete it in all the scenes because you are deleting the instance itself from the project.
For convenience, you can set stage settings for an instance that apply to all the scenes in the stage. For example, if you want a character to be in the same position for every scene, you simply need to change it for the stage.
0: Users found this article helpful. 0: Users did not find this article helpful.
How do I move a project with all its assets to another computer?
How do I move a project with all its assets to another computer in 2.6?
Generally, you will save your project in Production Studio as a CodeBaby Project file (.cbp). When you open this file, it grabs the necessary assets from the directories you imported them from on your computer. If you want to send your project to a coworker, however, this project file will not work properly because the asset directories will correspond to your computer and not your coworker's. If your coworker does not have the assets on his/her computer, then he/she will not be able to view the project file.
You can avoid this problem by saving your project as a CodeBaby Project Archive file (.cbpa). A CodeBaby Project Archive saves all the necessary assets (characters, audio, background images, etc.) required for your production, allowing for easier collaboration if more than one person is working on a project. For this reason, a CodeBaby Project Archive file is much larger than a CodeBaby Project file. To move your project with all its assets to another computer, simply move the CodeBaby Project Archive file and all the assets will be contained within it for easy use.
0: Users found this article helpful. 0: Users did not find this article helpful.
Why can't I delete the Scene or Camera 1 multi-tracks?
You'll notice that there are two multi-tracks in each scene that cannot be deleted. The first is the Scene multi-track and the second is the Camera 1 multi-track (this is the camera multi-track that is added when you begin a new project).
The Scene multi-track cannot be deleted because there is no way to add it back again, it corresponds to a particular scene and must always be available for it. A scene multi-track only gets added when a new scene is added to the project, and consequently, only gets deleted when the corresponding scene is also deleted.
The Camera 1 multi-track corresponds to the default camera. The default camera cannot be deleted from the project and must always exist in the scene, therefore, its multi-track also cannot be deleted.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to set an event key for an external action
Note: this article only applies to users with a Publishing license.
This action gives you the flexibility to set a custom response to a given event. If you're publishing for the web, this event can be handled by custom JavaScript code.
To add an event key for an external action in Production Studio, drag an Events key onto the track and double click it. The Action Editor will pop up and you can choose 'perform an external action'. The name of the action must be filled in so that the JavaScript knows which external action is being performed. The Events key will be an empty diamond if an action hasn't been assigned to it, and will be a filled diamond if one has. If you want an event to coincide with the start or end of an animation cue, simply set its start time so it's the same as the animation's start or end time.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to update Lip Sync and .wav and .mp3 files
The scenario may occur where your audio files have changed (for example, more content was added to them or the voice was changed) and it's necessary to update the current audio and lip sync files in your production. The following are the steps to update audio/LTF files in your project by replacing them outside Studio.
Open Studio with a blank .cbp. Under the Studio Tools Menu, select Create LipSync from Audio.
Select the audio file you wish to generate the .ltf from and click Open. It is suggested that you use .wav or .mp3 files (PCM Mono 16 Bit 44kHz) and not .wav's because when you export your content out of Production Studio to a .swf, the audio will get compressed twice without saving file size.
Click Create to create the .ltf from the audio file you selected.
Once complete, click Close and then exit out of Studio.
Navigate to the directory where the updated audio file was placed and select it and the corresponding .ltf (which is always placed into the same directory as the source file). Copy these two assets into the directory that holds all your other assets. If you've already placed a new audio file in place of the old one, the .ltf you have been using will be overwritten without prompt or warning.
0: Users found this article helpful. 0: Users did not find this article helpful.
What is a model instance?
Most productions have one instance of a model which is animated (i.e. waving. lip sync to a sound file and displaying speech bubbles). However, it is possible to have more than one instance of a model. For example, suppose three pens are needed on a desk. Rather than importing a pen model three times, you simply create three instances of a pen model.
A model must have an associated model instance in order to display in CodeBaby Studio. Model instances are represented by separate multi-tracks in the Timeline. A model instance is automatically created when you import a model file into CodeBaby Studio. However, you can create more instances of a given model by right-clicking on the model asset in the Assets Panel and selecting New Character/Prop Instance or by right-clicking on the character's multitrack and selecting Insert Character Instance.
You'll see two identical characters:
Changing the textures of one character instance can alter its appearance. The following steps describe this process.
1. Go to the folder that contains this character's textures and make a copy of each texture you want to change.
2. Open the textures in Photoshop (or another image editor) and make the desired changes.
3. Save as new texture files.
4. Import the textures into CodeBaby Studio and assign each one to the character and the corresponding region (shirt to shirt, hair to hair).
5. On the Timeline, select the character multi-track that corresponds to the instance whose appearance you wish to alter.
6. In the Property Inspector, select a new texture for each texture region you'd like to change.
The results below display the difference in appearance between the two character instances.
The textures are not the only property that can be changed to distinguish one character instance from another. The name of the character instance, for example, can also be altered in the Assets Panel:
There is no limit to the number of textures that can be imported into CodeBaby Studio. Using instances with different textures is one way of easily creating numerous distinctive characters in your projects.
0: Users found this article helpful. 0: Users did not find this article helpful.
Can I have multiple .wav or .mp3 files for the same animation?
It is possible to have multiple lip sync files in the same scene and even for the same character. Import each audio file and choose "Create lip sync for character dialog" The lip sync file and its corresponding audio file will be placed in the Assets Panel under the "Lip Sync" and "Audio" headings.
Once you've imported all your audio files and created their lip sync counterparts, simply drag each one onto the Lip Sync track under the desired character multi-track. The lip sync cues are allowed to be overlapping.
0: Users found this article helpful. 0: Users did not find this article helpful.
I get an error when I use an audio file longer than 2 minutes
This issue more than likely has to do with a limitation we experience on some machines with AVI files exceeding 2 GB in size. There is also a 4 GB file limit on all AVI files (this is a limitation of the file format itself). Try using a compressed format for the AVI:
1) Open the Export window
2) Click on the "Change" button next to "AVI Configuration"
3) Click the "Video Setup" button
4) Change the codec to something other than Full Frames (uncompressed). For example, "Cinepak Codec by Radius"
0: Users found this article helpful. 0: Users did not find this article helpful.
If a character walks in from off-screen, they appear in the first frame of animation
You will find when you export / publish that the character is visible in the first frame (sometimes more) of the exported / published video. This is because the stage you are using has set the initial character position to the middle of the screen, and this is how the character is positioned at the start of the video. To resolve this:
1) Make a new stage (via the + button near the top of the Property Inspector). It's recommended to naming this stage to something sensible, like "Invisible Model" (this will make more sense later).
2) Click on the multi-track header for your character. The Property Inspector should show all of the initial settings for that character.
3) Set the Visible property to false. This makes the character invisible at the start of the scene.
4) In the scene, drag on a visibility key near the start of the scene, and set the visibility to true. This makes the character visible again.
5) Under the Projects tab > Export, selecting the new stage in the "Export Scenes" dialog.
This should resolve the problem with seeing the character in the first one or two frames of the video.
2: Users found this article helpful. 1: Users did not find this article helpful.
My characters mouth hangs open for a moment before speaking
This is caused by an audio file with a long bit of dead air at the start. Try editing the audio file to remove the dead air. Then delete the lip sync cue file from the scene, as well as the lip sync asset and the audio file from the assets panel. Then re-import the audio and recreate the lip sync.
0: Users found this article helpful. 0: Users did not find this article helpful.
How do I rotate a character?
The properties X, Y and Z determine which direction the character is facing, so scale does not matter. A 45 degree turn would be X=1 and Y=1, and a 90 degree turn would be X=1, Y=0. To rotate the character 90 degrees in the opposite direction, use X=-1 and Y=1.
0: Users found this article helpful. 0: Users did not find this article helpful.
How do I have a character walk into a scene?
To have the character walk into a scene:
1) Add the Base_walkin_left or Base_walkin_right animation for standard characters (Male/Female_enterStage_L or Male/Female_enterStage_R) for the MoCap characters (depending which side you'd like the character to enter the scene) to the beginning of the scene and offset the Voice file so that your character begins talking when you'd like in the walk sequence. You can see this in the following image of a production. Also note that the name of the animation, BASE_Walkin_Left, or Male/Female_enterStage_L appears in the Property Inspector when you click on it.
2) The character walks in and stops back from the camera as shown below:
3) Another set of animations called Walk_In (shown in the property inspector), Walk_Mid, and Walk_Out are then used to move the character up to the camera. You can also have other animations while he is walking toward the camera as you can see in the image below.
4) The character ends up at the camera as in the image below:
0: Users found this article helpful. 1: Users did not find this article helpful.
How to export .flv content for use in Flash or Captivate
CodeBaby Studio can export to .flv format, which can easily be inserted into and Flash or Captivate production.
Exporting FLVs:
* Under the main File menu, select File -> Export
* In the Export Scenes window, set "Export Format: Flash Video"
* Click the Flash Configuration's Change button.
* In the Flash Export Configuration window, set the Video: File Type: FLV (export only)
* Click OK button
* Click the Export button
1: Users found this article helpful. 0: Users did not find this article helpful.
How to tell if your exported .swf's have a transparent background
You have exported a .swf file with a transparent background and followed all of the instructions (checking "preserve transparency" in the Export dialog box). But, when you take a look at the .swf file, it appears with a black background.
The SWF will appear to have a black background, but the black area is transparent. In Studio the background should appear white (default colour):
After exporting to a SWF, it will appear to have a black background:
Once the .swf(s) are added to your deployment, the area around the character should be transparent.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to create an idle blink loop in Flash
You have exported your content, but find that at the end of each scene, your character(s) stare blankly. The solution to this is to add an idle blink loop to the end of each scene. The basic steps for doing this are:
1. In Studio, add the BASE_Stand animation to the end of the scene, causing the character to blink (depending on the idle animation).
2. In Flash, loop over this section so the character continues to blink.
The detailed steps are as follows:
You'll need to export your production as .flv's. Once you've done so, import your .flv's into Flash, making sure the Flash frame rate is identical to that of your exported .flv's.
Once you place your imported .flv's onto the Flash timeline, they will play back from start to finish in a loop. This is because the timeline they're placed on doesn't include an Action at the last frame that tells it to stop, or an advanced action script that tells the target video to stop on completion.
Below is a Flash Scene called 'content'. It has been broken up into 7 sections: d01, d02, d06, d07, d08, d10, and d12. Some of the layers go all the way across the entire timeline for the 'content' scene because they're global elements, which includes logos and other such branding that are meant to be displayed in each of the 7 sections. Logos and branding have been placed onto the timeline, rather than using ActionScript to do so, but feel free to use whichever method works best for you.
Each of the 7 sections are nearly the same: they each have a frame label and a key frame with a stop() frame action (this is approximately 10 frames into the section). The stop() frame action stops the main timeline for this section, but not the Movie symbols embedded in it.
You can see how each section has its own frame set on the CONTENT layer, which is where the Movie symbols are found.
The Movie symbols contain the imported Studio .flv's, as well as animated text and graphics. Below is the first Movie symbol, called 'welcome01', from the d01 section. The Studio content has been placed on the 'video' layer, while the graphics and text are on other layers.
If you scroll ahead to the end of this Movie symbol's timeline, you will see something similar to the image below. Notice that there is a stop() frame action script on the last frame that will cause this Movie symbol's timeline to stop.
Now that you know the basics, adding the Idle Blink loop is quick and easy. Below is the same Movie symbol, only it's been altered to accommodate the Idle Blink.
What is the Idle Blink? The Idle Blink gives the character the illusion of being alive, rather than just staring out blankly. In this example, there's a different frame action script: gotoAndPlay('blink'). This targets a key frame with the label name 'blink', which has been added to the timeline. Due to this keyframe, when Flash gets to the end of this Movie symbol, it will move back in the timeline by a small amount and loop around the last second or two of the imported .flv, which happens to contain animation of just the character blinking.
How do you know where to place this 'blink' frame label name? Scroll back from the end of the Flash timeline until you see your character's eyes blink. Try to get at least 24 - 40 frames between the 'blink' frame label name and the last frame with the frame action script.
Your character is set to blink every second or so. If you used Studio's Auto-Animate feature, as seen below, you will already have a 'BASE_Stand' cue at the end of the timeline.
What is the BASE_Stand? This sets the character's position back to a default pose, so when he/she is loaded in another SWF on the next page, it is a seamless transition. The character's end pose in one scene needs to be identical to his/her start pose in the next scene.
If you haven't used the Auto Animate feature, then you can simply grab a BASE_Stand node from the Assets Panel and manually drag and drop it at the end of your character's Animation track.
Lastly, you will need to make sure that the end of each scene has a couple of seconds of idle pose video in order to create the Idle Blink in Flash. Select the right side of your BASE_Stand cue on your timeline and stretch it out to the right, making it last for a couple of seconds. The BASE_Stand animation cue must be at the end of every scene you export in order to create an Idle Blink in Flash.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to handle Flash Global Security settings
When CodeBaby Studio developers publish their content and include an HTML wire frame, the following message is added to that HTML page:
Flash Video Troubleshooting
(Flash Player 8 only) If you are viewing this CodeBaby Flash content locally on your computer, a dialog box might appear alerting you that the content is trying to communicate with the Internet. Flash Player 8 doesn't allow the local Flash content to communicate with the Internet, by default.
Using the Global Security Settings Panel, you can specify that certain Flash applications on your computer may communicate with the Internet. To change your security settings or learn more about your options, see the Flash Player help on the Global Security Settings Panel page.
Navigate to Adobe's Global Security Settings Panel, you can set the Adobe Flash Player Settings Manager to 'Always Allow'. Add to a trusted location which is located on the same form.
0: Users found this article helpful. 0: Users did not find this article helpful.
How to manage exported content for DVD video
CodeBaby doesn't currently have an established process for Exporting CodeBaby Studio video for DVD, but there are steps you can take to export to DVD.
Potential Issues or Errors:
After, finishing rendering the file, the media player gives an error saying it was an "unsupported file"".
Test this video in
Adobe After Effects to see if it can be used. Your media player may be choking on the huge 2GB file at a bit rate that exceeds your computer's capability.
You may have accidentally encoded the video or audio to a peculiar format during Export. Verify these settings.
Export a small 5 second segment and see if it works in the media player or in
Adobe After Effects.
Another potential problem is that you have limited space on your computer and, laptop and as a result, there is no way to, do more than one, batch run without running out of space before it's complete.
Focus on one batch run and then back it up onto data DVD's, then do the next and so on.
You can also use video compression but this can be, tricky. The
TechSmith Codec imports safely into Flash.
Recommended process for CodeBaby Studio to DVD:
Studio Exports Uncompressed AVI, > Video Editor/Compositor Renders an Uncompressed AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Note: Some DVD Authoring programs use AVI's and convert to MPEG2 during burning. Your process is breaking down at the red arrow above, and you're running out of space.
Compress the video during (or after) Export to get around both problems:
Studio Exports DV-AVI (semi-compressed AVI) > Video Editor/Compositor Renders a DV-AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Studio Exports MPEG2 (DVD's native format) > Video Editor/Compositor Renders an identical quality MPEG2 > DVD Authoring program > DVD disc
Studio Exports TechSmith AVI > Video Editor/Compositor Renders an identical quality TechSmith AVI > MPEG2 Compressor > DVD Authoring program > DVD disc
Try MPEG2 or Huffyyuv.
The native DVD format of MPEG2 is a Lossy format, so there's going to be some lost quality from the original Export no matter what process you use. The standard process for DVD Authoring is to not compress to MPEG until the last moment, but in your case, you may need to work with compressed files, like MPEG2. There're different qualities of MPEG2, and we use High Quality, which fits one hour of video onto a standard 4.3 GB disc. We work with HQ MPEG2 encoded files in the video editor.
The standard solution to compress AVI's for video production and subsequent DVD Authoring is to use codec called Huffyuv. That will Export compressed AVI's for use in your video editor, and then compress again to MPEG2.
0: Users found this article helpful. 0: Users did not find this article helpful.
Internal error encountered when exporting
The error arises from the fact that the AVI that is generated during the capture phase of the video export is too large for the Flash encoder.
Try changing the stage settings to lower than 600 by 600 pixels:
1) Select the "Assets Panel"
2) Under "Stage Settings", select "Console"
3) In the "Property Inspector", change the "Video Width" and "Video Height" to lower values (i.e. 500 by 500)
Additionally, you can try using an AVI codec that compresses the video.
0: Users found this article helpful. 0: Users did not find this article helpful.
My character seems to use an animation too frequently
The animations are selected using a weighted probability table, which is stored as an XML file in the CodeBaby install folder, e.g. C:\Program Files\CodeBaby Production Studio\Program\default_weight_table.xml. You can adjust the probability of the selected animations by making simple changes to this file. We suggest making a copy of the original file, in case an accidental change makes it unreadable. To reduce the probablility of animation being selected, search for the animation in the file. It should be in a tag, which is contained in a tag. For example: In this example, the in-weight (relative probability of selecting this as the first animation) and the mid-weight (rel. prob. of selecting this animation afterwards) are both 4; you can reduce one or both of these to reduce the chances of it being selected. Note that the out-weight (for the last animation) is 0 for all operations except for BASE_Stand, so that a BASE_Stand is always the last animation.