Pages

Sunday, June 6, 2010

Unity3d class schedule for Sem 43 - 2010/2011

Date
Titles
Topics

7 June 2010
Week 1

Introduction to BEHAVIOURAL MODELLING
1.     Getting familiar with Behaviour Modelling
2.     What to expect in the class
3.     Marks distribution

14 June 2010
Week 2

Lecture: Virtual Storytelling: Narrativity and Authoring

Tut: First unity3d project, Unity interface, Terrian creation

1.     Interactive drama
2.     Character focused narrative generation
3.     Plot conduction
4.     Gameplay into interactive dramas
5.     Developing believable body language in virtual actors

21 June 2010
Week 3


Tut: Creating workflow in untiy 3d, assets, importing, versions,

Lecture: Workflow pipeline setup

1.     Benefits of setting up workflow
2.     Incorporating version control system (GIT, SVN) for 3d workflow

Exercise 1 Brief – 20%
Total marks 20%
Focus: Importing and animation
28 June 2010
Week 4

Lecture: Interaction basics

Tut: Basic Interactions in Unity3d, using simple javascript, applying scripts to imported assets and animations

1.     Why design interaction?
2.     Four Approaches to interaction design (User centered, Activity centered, System, Genius)
3.     Scaling interaction design from prototype to larger content

5 July 2010
Week 5

Lecture: Animation in Virtual environment
1.     Interaction with animated characters in virtual environment
2.     Recycling and Reducing animation data
3.     Simulating humans
4.     Motion planning

Tut: Importing rigged character and assigning controls and animation
12 July
2010
Week 6

Tut: Generic Scripting (Prefabs, Collections and HUD)
- Picking up items
Principles of animation
1.     Squash and stretch
2.     Anticipation
3.     pose-to-pose
4.     straight-ahead
5.     Follow-through
6.     Overlapping
7.     Slow-in and slow-out
8.     Arcs
9.     Secondary action
10.   Timing
11.   Exaggeration


Lecture: Animation and physics

Submission of Exercise 1
Briefing of exercise 2
Total marks – 30%
Focus – Picking up, physics, explosion and scoring
19 July
2010
Week 7

Tut: Instantiations, Rigid Bodies and Particle System
-        Prepping the grenade
-       Creating fire
1.     Visual effects in films and how they can be applied in virtual environment
2.     Image compositing
3.     Matte painting to create background
4.     Visual effects in games

Lecture: Visual effects in Virtual Environment
EXTRA CLASS
Bonus Class: Iphone games development part 1
1.     Obtain digital certificate
2.     Provision your device to use with iphone / ipod touch
3.    Common errors and solutions
9 August 2010
Week 9
Lecture: User interface designing with user in mind

1.     What does user do (in web, games, vr)?
2.     Benefits of having an interface
3.     Designing for scanning, not reading- users just want to play
4.    Giving first impression intro page
Tut: Graphical User Input Design
-        Adding 3d menu
-       Scripting GUI
EXTRA CLASS
Bonus Class: Iphone games Control setup
 Setting up controls
Materials and shaders for iphone
16 August 2010
Week 10

Lecture: Physics in virtual environment

1.     Adding realism with physics movements
2.     Why physics engine? Advantages and disadvantages. Nvidia Physix, a case study
3.     Laws of motion
4.     Springs and hooks
5.     Collision – face, boundary
6.     Rigidbody
7.    Constrains
Tut: Applying physics to the scene
EXTRA CLASS
Bonus class: Iphone collission
Collssion setup
Trigger setup

Exercise 2 Submission
Briefing of Exercise 3 – 10%

Total Marks: 15%
Focus on Networking
23 August 2010 Week 11
Tut: Multiplayer networking part 1
1.     Connecting user
2.     Server and client concepts
3.     Ping, delays,
4.     User home and destinations
5.    Firewalls, ports
Lecture: Why multiplayer?
EXTRA CLASS
Bonus class: Iphone GUI setup
GUI – CREATING AND SETTING UP
Adding Game Over Screen
Creating personal Game intro screen
30 August 2010
Week 12
Tut: Multiplayer networking part 2 - badumna

1.     Virtual Crowds
2.     Crowd simulation models
3.    Presence in virtual crowds
Lecture: Autonomous character
EXTRA CLASS
Bonus class: Iphone GUI setup
GUI – CREATING AND SETTING UP
Adding Game Over Screen
Creating personal Game intro screen
6 September 2010
Week 13
Lecture: What difference does Audio make?
Invited Lecturer: Mr Norman
1.     Importance of Audio in virtual environment
2.     Background music and suitable genres
3.    Sound effects
Tut: Mixing real time 3d with Audio and Video

EXTRA CLASS
Bonus class: Iphone distribution
Setting up distribution
Collaboration between teams

Submission of Exercise 3

13 September 2010
Week 14
*Might be cancelled due to Hari Raya Haji. If there is a class, it will be followed as such

Lecture: Ubiquitous and Pervasive interaction: Post desktop model


1.     What is everyware
2.     How is everyware different from what we are used to?
3.     What drives the emergence?
4.     Issues of omnipresent data
5.    Building your game / vr / application based on location
Tut: Provisioning device for interactive environment, interactive with accelerometer and position support


Teaching staff
Avijit Paul
Rom 1048
Phone: +6 03 8312 5610 / +6 016 357 2576
Email: avijit.paul '  at  ' mmu.edu.my or avijit.paul.1992 ' at ' gmail  'dot ' com

Thursday, April 29, 2010

Why I do not want to help students anymore

Every semester I try my level best to help my students. I was a student before and I always wanted to do well and when I see them looking for help I remember my student time and I help. A lot of times I may not be able to help as much as I wished, but I try.

I do not expect any thank you note for that, but what I got today's mail was a wake up call for me. Here is the mail [minus the names]

=============================================================
From: student 1 <xxxx@yahoo.com>
Date: Fri, Apr 30, 2010 at 2:22 AM
Subject: Urgent.Emergency(unity);
To: avijit.paul@mmu.edu.my



Dear my beloved Sir,

We’re having problems with our unity. The submission is due on next Monday. We’re running out of time. We don’t want to fail this course. Please, please, please help us.  We are so desperate. This is not fair, we have tried our best. We give all our heart and soul to this project. Everyone else got interaction. But we don’t even know how to publish our work. Which selection to choose, ya? Is it the OSX standalone? What is OSX?

With this email we attach our unity file. Please do the third person controller with hovering, floating effect. Then the user can boost the speed of the character after collecting stuff. Please do all nicely. We don’t have enough time to do this assignment because we want to watch anime and play games. Please ya! You are my only hope.

Then put extra FX to make our environment fantastic and beautiful for bonus marks. I really really need this. We know nothing about unity, so please do everything for us, ya!
You are the nicest lecturer we know.

After you finish, please burn in CD and design the cover for us. Remember to use the thin jewel case. Please remember ya, this is very important! We don’t want to fail this course. We don’t want to waste our parents’ money.

Finally, submit the CD to [lecturer 1] on Monday between 2-4pm. Please don’t be late. We can’t go submit on Monday because we will be at Singapore “jalan-jalan cari makan”(please google this) I really really hope you’ll understand our situation. Please don’t tell Mr. Mazlan that you do all our Unity stuff. Keep it secret, till death do us part. Please please, we don’t want to fail this course.

That’s all for this sem. We’ll be back to ask you to do our assign for FYP.

PS:  Oh btw, how to export Max to Unity?


Sincerely,
Student 1 and student 2

PSS: Please take this with a bit of sarcasm. Don’t take this seriously. This is the joke of the semester!

======================================================= 

I replied

======================================================= 


Thanks for writing this mail, although both of you probably have crossed the line by miles, but it was a good realization mail. 
Even though it makes me sad to read this email as I really believed [student 3] needed help on the unity part so I tried to help as much as I could even though I did not get to help much. But after your reading your email I understand my mistake. I was trying too hard to help and most probably I am not going to help anyone ever and will show the email [minus the names] as a reference why I dont want to help. 



======================================================= 

Anyone who is reading it might think why cant I just take a sarcastic email? After all it is a joke and they have exaggerated a bit too much and it is probably a good fun. The problem is that,  recently I took a lot of criticism from a number of faculty members for helping too much. I digested all of it thinking I am trying to do a greater good as the students probably really need help. 


It takes a lot of my time and effort to find ways to solve problems. I spend a good number of hours trying to solve this technical issues that I could have used for my own work. I still did because I believed it will help. 


But after this, please dont bother asking for help. 

The door has been shut, at least for the rest of my time in MMU. 

Thursday, April 15, 2010

Underwater effects like island demo in unity3d

A lot of times I get asked how to do the underwater effects like the one we see in island demo - where when you / your camera goes under water level you see blurry atmosphere.

Since most of the questions are asked by Non Programmers, (ex http://forum.unity3d.com/viewtopic.php?p=195450 )  here is a "copy paste" style tutorial that you should be able to follow to create your underwater effects.


Level : Beginner heading towards intermediate 


Things you need
1. Underwater script (comes with island demo)
2. Underwater shader (comes with island demo)
3. Blur island script (comes with island demo)
4. Glow Effect Island script (comes with island demo)

Lets get our hands dirty
0. Open your island demo project, create a new scene.
1. Create a terrain.
2. Drag daylight water in the scene.
3. Enlarge it to make it fill your scene / area that you are trying to put water on.
4. Drag first person controller to the scene. Position it where you need it to start walking
5. Click Main camera so that you can now assign scripts to the main camera
6. Go to components > Scripts > Underwater script to add underwater script to the camera.


7. Now you should have underwater effect script on your main camera. However, if you try to go under the water right now, you wont see any effect. For that, you need to add the under water surface first.
8. Go to Game object > Create other > Plane
9. Make the plane to have EXACTLY same X, Y, Z as the daylight water. (You can make the Y of the underwater a little low - just like what I did, but X and Z should be same)


10. Now drag the underwater shader from the water folder from the project window.




11. You can try to play and go underwater now and VOLA!!! You are stuck!! You wanted to see blur and now You cant even get down. That is because your plane has a collider. So remove the collider from the plane and you are good to go down.


12. However, you still cant see any blurriness. That is because your camera dont have any blur script to it. So, select the "main camera" under first person controller prefab and go to
a) Component > Image effect > blur (island)
b) Component > Image effect > Glow (Island)

13. One you assigned all of this, the last thing you need to assign in an audio source. That is because the default script that comes with island demo has audio and your current camera dont have audio. So click the main camera again, and go to
Component > Audio > Audio source

14. Now play it, you should have similar blurry effect.

15. If you want to control the blur, change the iteration or blur speed under blur effect island. (this is under main camera) . Here I changed the iterations from 3 to 1 to have clearer effect.


So hope you can follow this and create your own underwater effects. If you are doing it in a different folder you need to copy the relevant scripts there, but I assume if you can follow this you already know how to copy the scripts needed to your folder.

Drop me a line at avijit.paul   at   mmu.edu.my or avijit.paul.1992     at   gmail.com   or post a comment below if you have any questions.

Wednesday, February 17, 2010

I get that you were busy. But did you do anything important?

Amazing line from Seth Godin.
I get that you were busy. But did you do anything important?
Many days I just keep doing things that are not important at all. Actually most of the days I do things that are not important. But I just do them. I think I need to print this really BIG and stick in front of my door. 

"Did you do anything important today?"

Wednesday, February 10, 2010

2 steps to update Twitter, Facebook status and Google buzz same time with one update

Here is what I did to update my facebook startus, twitter and Google buzz by updating only one.

Step 1 : Login to facebook - add http://apps.facebook.com/twitter/ this will ensure when you update your twitter it also updates your facebook status. 

Step 2 : Login to your gmail, go to buzz and click "connected sites" link near your profile picture. Look for twitter, add your username and click done. 

Thats it, now when you update your twitter it will update your facebook status, google buzz and twitter of course.