400 likes | 523 Views
CS320n –Visual Programming. Introduction to Alice Mike Scott (Slides 2). What We Will Do Today. Discuss building animation programs Do an example Friday, mostly lab work. Top Nine List – Succeeding in CS320n. 9. Ask questions 8. Read the books
E N D
CS320n –Visual Programming Introduction to Alice Mike Scott (Slides 2)
What We Will Do Today • Discuss building animation programs • Do an example • Friday, mostly lab work Animation Programs
Top Nine List – Succeeding in CS320n 9. Ask questions 8. Read the books 7. Visit instructor and TA during office hours 6. Work the exercises from the schedule 5. Don’t give up. (Keep working until it is right) 4. Read the book 3. Start assignments early 2. Get help when stuck. (1 hour rule) 1. Ask questions Animation Programs
Animation Programs:Scenarios and Storyboards • Recall animation programs are movies with no interaction with a user • 2 step process for creating animations. • Step 1: Design • Step 2: Implementation Animation Programs
Step 1: Design • “Ready, fire, aim” • the fast approach to software development. • Ready, aim, aim, aim, aim ... • the slow approach to software development. • Clarify/Define the problem to be solved • often the problem is given to you • by instructor or leader or team • other times, you decide on it yourself • in this class we will do both. • some times problem well defined by instructor • some times you decide what problem to solve • Design solution to problem Animation Programs
Example problem (Scenario) • The scenario is: • Several snow-people are outdoors, on a snow-covered landscape. A snowman is trying to meet a snowwoman who is talking with a group of her friends (other snowwomen.) He says "Ahem" and blinks his eyes, trying to get her attention • The problem is: • How can we create this animation? Animation Programs
Designing a Solution • First. Decide on the objects for the scene • Second. Create a storyboard • a list of actions • Several options for the form a storyboard can take • sketches. (if you can. Easier to see final product this way.) • text. List of actions. To do list. (if you can’t draw. Harder to see the final product.) Animation Programs
Objects in the Scene • Objects • a snowman • 2 snowwomen • (For our problems you won’t have to create new objects, just use the ones in the gallery) • Opening scene / world: a snowy scene • a quick sketch • don’t have to be an artist Animation Programs
Storyboard Template • Scene number • Scene sketch (picture) • Description • Sound • Text Animation Programs
A Storyboard Initial scene Snowman tries to catch snowwoman’s attention Snowwoman looks around Animation Programs
Storyboard in Text Form • Animation Artists (for example, at Disney, Pixar Studios, or Dreamworks) sketch their storyboards • You may not have such expertise (I don’t) • You can also use a text based form for the storyboard. • like a script Snowman turns to face snowwoman Snowman blinks and addresses snowwomen Snowwoman turns around The storyboard becomes your "to-do" list for the animation. Animation Programs
Storyboard Revision • A storyboard is a continual work in progress • Add and remove things as time goes on • Don’t be afraid to revise … • … evening during implementation Animation Programs
How does Pixar Make Movies? Animation Programs
More on Pixar • http://www.pixar.com/howwedoit/index.html# • More steps in the process • Each frame of the movie is rendered using a computer system (“Renderfarm”) • 1/24th of a second per frame screen time • 6 hours on average to render a frame • but some frames take as many as 90 hours Animation Programs
Another Exercise is Storyboarding • A bicycle race finish. 5 cyclists are at the end of a race. The cyclist in the lead raises his arms in victory and then falls over before the finish line. The cyclist in second wins the race. • sketch • script (text based) Animation Programs
Initial Scenes Animation Programs
Techniques and Tools • Mouse used to • set up the initial scene • approximately position objects in the scene • resize and rotate objects • Camera Navigation is used to • set the camera point of view • Drop-down menu methods are used to • resize objects and rotate objects • more precisely position objects in the scene • Scene Editor's Quad View is used to • obtain specific alignments • position one object relative to another object Animation Programs
Writing A Program • "Writing" a program (script) • a list of instructions to have the objects perform certain actions in the animation • Our planned story board (to do list) is Snowman turns to face snowwoman Snowman blinks and addresses snowwomen Snowwoman turns around • Now translate design steps into program instructions Animation Programs
Translating the Design • Some steps in the storyboard can be written as a singleinstruction • The snowman turns to face the snowwoman • Other steps are composite actions that require more than one instruction Snowman blinks and addresses snowwomen • blinks -> Snowman raises and lowers his eyes • addresses -> Snowman says “ahem” Animation Programs
Actions • Sequential • Some actions occur one after the other • first step (snowman turns to face snowwoman) • second step (snowman tries to get snowwoman’s attention) • Simultaneous • Other actions occur at the same time • Snowman says "Ahem" and while simultaneously blinking his eyes Animation Programs
Action Blocks in Alice Sequential Action Block Simultaneous Action Block Animation Programs
Writing the Program • In Simple Animations notice the only event • world.my first method • world is an object (contains all other objects) • my first method is a method. A behavior of a certain objects • methods consist of a series of instructions and commands (some of which may be other methods…) • big rocks into little rocks Animation Programs
Adding Instructions to world.my first method • The method should be open in the method editor window of Alice. (bottom right) • if not select the world from the object tree, the method tab, and click the edit button next to my first method Animation Programs
Method Editor Window Animation Programs
Step 1 – Snowman turns • Select the object you want to perform the object • Select the method / action you want the object to perform • could use turn or turn to face • often many ways to accomplish the same task • Click and drag it to the method editor window Animation Programs
Snowman Turns • Can adjust aspects of how the snowman turns to face the snowwoman • click the more option • right now duration and style are the only things you should alter Animation Programs
Step 2 – Combined Action • We want the snowman to say “ahem” and blink at the same time • actions are normally sequential • to do actions together, at the same time, use a “Do together” block • Click and drag “Dotogether” block intothe method Animation Programs
Step 2 – Combined Actions • Now drag the things we want to happen together into the “Do together” block • Snowman say ahem • Snowman blink – raise and lower eyes Animation Programs
Affecting subparts • The snowman does not have “blink eyes” method • Can accomplish a blink by affecting subparts • Select snowman object from object tree and expand subparts • expand the head • now we can give commands to individual parts, in this case the eyes • have eyes move up and down • specify directionand distanceof move Animation Programs
Step 2 – First Attempt • world.my first method looks like this • TEST the method • play the movie. Does it do what we want? Animation Programs
Logic Error • The program works, but does not do what we intended. • This is an example of a logic error • very easy in Alice to see logic errors • the movie does not do what we wanted • What’s the problem? Animation Programs
Do together and Do in order • All commands in the Do together block are executed simultaneously • So what is the result if you move an eye up .1 meters and down .1 meters at the same time? • Apparently nothing • So while we want the eyes to move together and to say “ahem” we want the eyes to first move up and then down • Use a Do in order block inside the Do together block Animation Programs
Corrected Do Together Animation Programs
Testing • An important step in creating a program is to run it – to be sure it does what you expect it to do. • I recommend that you use an incremental development process: • write a few lines of code and then run it • write a few more lines and run it • write a few more lines and run it… • This process allows you to find any problems and fix them as you go along. • As you go you may alter your design / storyboard • design a little, code a little, test a little… Animation Programs
Comments • While Alice instructions are easy to understand, it is often desirable to be able to explain (in English) what is going on in a program • We use comments to explain to the human reader what a particular section of code does Animation Programs
Comments Notes: 1) Comments appear in green 2) Alice ignores comments. 3) Comments make the program easier to read. Animation Programs
Extra – Moving Together • To move things together can sometimes be a pain • Tell two objects to move “forward” • directions are relative to the objects • may get motion in different directions • can use the “orient to” method to synch frames of reference Animation Programs
Vehicles • Each object has a vehicle property • Initially the world is the vehicle for objects • can change this by altering the vehicle property for an object • Give the snowman an instrument • Change “ahem” to “toot” • What happens when movie played? Animation Programs
Alter the Vehicle Property • Select sax from object tree • Select properties tab • Change vehicle from world to snowman Animation Programs