Posts Tagged ‘TV’
Doctor Who: The Big Bang
Saturday, June 26th, 2010
![]()
Tonight’s Doctor Who, The Big Bang, was farce. Not quite pure farce. More like 90% farce. Not bad farce. Proper farce. Farce in a good way. In a The Importance of Being Earnest or Noises Off kind of way. It could take its spiritual importance from the second half of The Importance of Being Earnest’s full title: Importance of Being Earnest, A Trivial Comedy for Serious People.
Steven Moffat had real fun playing with the timelines this week. Each of the characters in the story has a timeline that we dip in and out of. The Big Bang shows the power of the point of view in a story. We have the camera’s time line which starts out following Amelia Pond. The Doctor keeps steering her to be in the right place at the right time for the Pandorica’s opening. When did he put the postit on the Pandorica and when did he write it?
Then it swaps to Rory in 102AD (1894 years ago) anchoring us to the love story and to the Previously. Then we get the first view of the farce. One of the Noises Off sections where the Doctor gives Rory his instructions so he can escape from the Pandorica. I’m not entirely sure there isn’t a paradox there. Given the Doctor is trapped in the Pandorica with the sonic screw driver how did he escape the first time? That’s really going to play with the heads of anyone who takes Who too seriously. However he did it it was soon enough that he could still get River Song’s time travel doodad.
Then we get the Doctor’s alternative way of looking at life. He can put Amy in the Pandorica for 1894 years to get healed. Rory guarding Amy for 2000 years sets up his love and allows his dramatic entry to save the day.
Once the Doctor hops forward using the doodad we begin to follow him almost immediately. We get a brief moment of Amy to set up her knowing of Rory’s 2000 year vigil that sets up their reunion and his coming to the rescue. That lets us tie up the earlier action with Rory and Amelia. We follow him up to the point where he is shot by the Dalek then it switches to Amy except for an excursion to River Song in the exploding TARDIS.
River Song’s time line trapped in a loop but unlike Groundhog Day or the Star Trek: The Next Generation episode Cause and Effect this is an unvarying time loop of just a few seconds that she has been trapped in for an eternity. 2 billion to 10 billion times. No wonder she says “And what sort of time do you call this?”
Amy then has to sell the sadness of the Doctor’s sacrifice. That no one will remember him.
Then its back to the Doctor as he rewinds back through his timeline. The moment he checks himself echos a post regeneration. He knows he’s escaped but isn’t 100% sure he hasn’t been regenerated. He discovers Amy can hear him and before sacrificing himself to close the crack he plants a thought in her head and reinforces it before he does. The line in Flesh and Stone which didn’t make perfect sense at the time is explained now we see it wasn’t the Doctor from that episode but the Doctor from this episode who spoke it. Then he sacrifices himself into the crack.
So finally to Amy again on her wedding day. Slightly confused. Trying to work it out. Glad they avoided the wedding and skipped to the reception. TV weddings have a way of feeling artificial. The River Song, the blank diary, the bow tie and the man wearing braces. The embarrassed guests at the reception. All of that to set up the TARDIS makes its big entry. Love the way the TARDIS makes its big entry. Karen Gillan really sells her delivery of a cliché that takes on a whole new meaning. The dramatic incidental music becomes more and more powerful each time its used. Its almost more powerful than the main theme now. In combination the two of them can be played as a double emotional whammy as they use it at the end.
All of this took a lot of plotting, writing and planning to make it make sense. The camera is clever and it helps us follow the story and play some tricks on us but we’ll forgive it for that.
There are just some really fun things in the episode…
A Dalek in a Museum
Someone had fun dressing the set putting the time anomalies together leading up to the Pandorica. Plus a certain someone as the leader of a star cult.
The Pandorica looks so cool. It opens and closes in such a fun way. Need Pandorica dice. And again – one broken down DALEK scarier and cooler than an army of DALEKs.
“I dated a Nestine duplicate once swappable head, did keep things fresh.” River gets such good lines. Then the moment, just a glance, between Amy and River when they destroy the Fez.
The writing has a wonderful knowingness without being smug. A universe reboot not just a figurative or cynical, marketing ploy. A character plotting one. A literal one. To save the universe. It adds onto River’s work to avoid spoilers.
The Doctor dancing like a drunk giraffe. Fun and reminding us he doesn’t entirely fit in.
The solution to the destruction of time and space has a mad logic that has been set up over thirteen episodes. It’s crazy but it was set up.
The fez: that is going to really upset the hate the bow tie crowd. It’s a really clever technique to let us keep track of the timeline. If there is a Fez craze for kids next Christmas I’ll have a good laugh.
Having the Doctor have to work it out as he is going on. Setting out each leap, no matter how fantastic, as logical.
Once its all over and we’ve had a moment to enjoy their success we have the set up for the Christmas special. Alongside that we’ve the next series mystery – why did the TARDIS go then?
Who is River Song. River casual high noon moment with the DALEK. Is there a hint there when she tells the Dalek to recheck his records about her being one of the Doctor’s companions? The Dalek’s fear moments later after, presumably, rechecking and discovering something. Is it just that she will kill or that it finds something more? Anyone that can scare a Dalek is emphatically someone to take seriously. Yet on the flip side she nudges Amy to free the Doctor and her unguarded “I’m sorry my love.” Whoever she is I don’t think she’ll do a sixth season Buffy Bad Willow on us.
And of course what is The Silence? Is that a reference to Silence in the Library? Is that just a red herring.
All in all both an excellent finish to the two part story and an excellent end to the series. Do you agree?
Doctor Who: The Beast Below
Saturday, April 10th, 2010
So the second outing for the 11th Doctor tonight in The Beast Below.
Interesting take on future Britain as a starship. The sets were nicely dressed and with some interesting colour. There was a lovely mix of retro, post war, grimy Britain littered with British icons with incongruous details like the rickshaws. Small quibble if Scotland has its own ship and presumably doing its own thing why does the Union Jack still incorporate Saint Andrew’s Cross?
The scary end of the pier head-in-a-box bad guys were excellent. I’d like to have seen more of them but the single episode story format doesn’t really let the new bad guys get built up the way the old ones used to. Being physical objects rather than a CGI effect helps. The winders becoming smilers using a physical effect in combination with CG was a good choice.
There were lots of nice gags and references littered in the show. The moment the Woman in cloak (later revealed to be the queen) said “Save us Doctor you’re our only hope”. The noise in the rubbish dump. Touches of The Prisoner, Star Wars, Fairy Stories and Douglas Adams.
Liz 10 worked well and was nicely played. The ruler who is trapped in a perpetual cycle of discovery and denial. There seems to be a deliberate move to putting children in jeopardy to build tension and both the main child actors in this episode gave excellent performances.
Amy gets an opportunity to show the kind of companion she is. The Doctor goes for the dark solution and Amy brings the heart and finds the better solution to the same problem. The story telling could have just had her hit the button but it showed us the logic very quickly and solve the problem.
Once the excellent story was over they brought out the DALEKs for next week. Since the revival of Doctor Who that’s become something I dread. For the first time in several DALEK stories I’m not worried that it will be a disappointment.
So the second outing for the 11th Doctor tonight in The Beast Below.
Interesting take on future Britain as a starship. The sets were nicely dressed and with some interesting colour. There was a lovely mix of retro, post war, grimy Britain littered with British icons with incongruous details like the rickshaws. Small quibble if Scotland has its own ship and presumably doing its own thing why does the Union Jack still incorporate Saint Andrew’s Cross?
The scary end of the pier head-in-a-box bad guys were excellent. I’d like to have seen more of them but the single episode story format doesn’t really let the new bad guys get built up the way the old ones used to. Being physical objects rather than a CGI effect helps. The winders becoming smilers using a physical effect in combination with CG was a good choice.
There were lots of nice gags and references littered in the show. The moment the Woman in cloak (later revealed to be the queen) said “Save us Doctor you’re our only hope”. The noise in the rubbish dump. Touches of The Prisoner, Star Wars, Fairy Stories and Douglas Adams.
Liz 10 worked well and was nicely played. The ruler who is trapped in a perpetual cycle of discovery and denial. There seems to be a deliberate move to putting children in jeopardy to build tension and both the main child actors in this episode gave excellent performances.
Amy gets an opportunity to show the kind of companion she is. The Doctor goes for the dark solution and Amy brings the heart and finds the better solution to the same problem. The story telling could have just had her hit the button but it showed us the logic very quickly and solve the problem.
Once the excellent story was over they brought out the DALEKs for next week. Since the revival of Doctor Who that’s become something I dread. For the first time in several DALEK stories I’m not worried that it will be a disappointment.
Vue Stereo Image Camera Creation Script
Sunday, August 16th, 2009
This python script creates a pair of cameras for rendering stereo images in Vue. It’s pretty easy to do without the script but this just speeds things up a bit. Christina has two tutorials about making stereo camera’s on her web site. Its a basic solution that doesn’t generate an animated camera and it won’t work with cameras that aren’t flat and level. Originally created after a request from Jim Coe.
Note: This script does not render the scene. Once you have used it you will need to render the scene from each camera yourself and do whatever magic you need to do with the output.
Download: Vue Stereo Camera Script (3k Zip Archive)
Python Code
#******************************************************
# Creates a pair of cameras in a vue scene for
# rendering stereo position images
#
# - vuestereocamera.py
# - By Mark Caldwell
# - Version 0.1
# - 3rd September 2007
# - Copyright Mark Caldwell 2007
# - Tested with Vue 6.5 Infinite
#
# How to use in 3 easy steps
#
# 1. Download this file onto your computer
#
# 2. Position a camera where you want to render a
# stereo image for and make sure it's your selected
# camera
#
# 3. Then run script and wait for it to work
# To run it go to Python -> Run Python Script
# Then locate the file on your computer
#
#******************************************************
#------------------------------------------------------
# Get Input and Test Value is a positive floating point
#------------------------------------------------------
def TestValAngle (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if float(val)>0:
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must an positive number\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=Prompt ("Error: Value must an positive number\n\n"+messagetxt,val,true,titletxt)
return float(val)
#------------------------------------------------------
# Convert Degrees to Radians
#------------------------------------------------------
def degtorad(deg):
rad=deg*(math.pi/180)
return rad
#--------------------------------------------
# Start of Main Code
#--------------------------------------------
import math
separation=TestValAngle ('Eye Separation','Eye Separation','6.5')
camX=StoreCamera ()
SwitchCamera (camX)
SelectByType(VuePython.VUEBasicObject.VOT_Camera)
cam = GetSelectedObjectByIndex(0)
pos=cam.Position()
rot=cam.GetRotationAngles()
y=(math.sin(degtorad(rot[2]))*separation)+pos[1]
x=(math.cos(degtorad(rot[2]))*separation)+pos[0]
cam.SetPosition(x,y,pos[2])
#----------------------------------------------
# End of Script
#----------------------------------------------
Vue EcoRotate Python Script
Friday, August 14th, 2009
This script for Vue Infinite and xStream allows all the objects / instances in an EcoSystem to point in a direction. It also allows a a bit of variation to be included in the rotation.
Download: EcoRotate (3k Zip Archive)
Python Code
#***********************************************************************
# Set all instances in an EcoSystem to point in a given direction
# - EcoRotate.py
# -
# - By Mark Caldwell
# - Version 0.2
# - 25th August 2007
# - Checked with Vue 6.5 Infinite
#
# How to use in 4 easy steps
# 1. Select an object with a populated EcoSystem
#
# 2. Run this script
#
# 3. Enter the values requested by the script
#
# 4. Wait for the script to work
#
#***********************************************************************
#----------------------------------------------------
# Get Input and Test Value for value 0-360 for Angles
#----------------------------------------------------
def TestValAngle (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if int(val) in range (0,360):
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must be an integer between 0 and 360\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=Prompt ("Error: Value must be an integer between 0 and 360\n\n"+messagetxt,val,true,titletxt)
return float(val)
#--------------------------------------------
# Get Input and Test Value for valuse 0 or 1
#--------------------------------------------
def TestValZO (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if int(val) in range (0,2):
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must be either 0 or 1\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=-3
return val
#--------------------------------------------
# Start of Main Code
#--------------------------------------------
import random
#--------------------------------------------------------------------------
# Test the user has a scene loaded
#--------------------------------------------------------------------------
if TestLoaded():
#--------------------------------------------------------------------------
# Test the user has 1 object selected with an Eco System on it
#--------------------------------------------------------------------------
numselected=CountSelectedObjects()
if numselected>1:
message="Please select only one object."
elif numselected<1:
message="Please select an object."
else:
#--------------------------------------------------------------------------
# Get User values for rotation required, which to rotate and randomness
#--------------------------------------------------------------------------
xon=TestValZO ('Rotate on X axis? (Enter 0 for yes and 1 for no)','Rotate on X?','0')
if xon=="1":
rx=TestValAngle ('Rotate to X (0 to 360 degrees)','X Rotation','0')
rxv=TestValAngle ('Variation of Rotation to X (0 to 360 degrees)','X Rotation Variation','0')
yon=TestValZO ('Rotate on Y axis? (Enter 0 for yes and 1 for no)','Rotate on Y?','0') # Rotate y (set to 1 to change 0 to leave alone)
if yon=="1":
ry=TestValAngle ('Rotate to Y (0 to 360 degrees)','Y Rotation','0')
ryv=TestValAngle ('Variation of Rotation to Y (0 to 360 degrees)','Y Rotation Variation','0')
zon=TestValZO ('Rotate on Z axis? (Enter 0 for yes and 1 for no)','Rotate on Z?','0') # Rotate z (set to 1 to change 0 to leave alone)
if zon=="1":
rz=TestValAngle ('Rotate to Z (0 to 360 degrees)','Z Rotation','0')
rzv=TestValAngle ('Variation of Rotation to Z (0 to 360 degrees)','Z Rotation Variation','0')
#--------------------------------------------------------------------------
#Set Up a Few Variables
#--------------------------------------------------------------------------
bObject=GetSelectedObjectByIndex(0) # Get first selected object
Eco = GetEcosystemOnObject(bObject) # Get EcoSystem on first selected
objlist=[bObject]
if Eco==None:
message="Please select an object with an EcoSystem material applied to it."
elif bObject.IsLocked(): # Check object isn't locked
message="Please select an object that isn't locked."
else:
ecocount=Eco.GetInstanceCount () # Count number of instances in EcoSystem
if ecocount==0:
message="Please select an EcoSystem that has been populated."
else:
#--------------------------------------------------------------------------
# Rotate EcoObjects
#--------------------------------------------------------------------------
for i in range(0,ecocount):
currentrotation=Eco.GetInstanceRotation (i)
if xon!="1":
rix=currentrotation[0]
else:
rix=rx+random.uniform(-rxv,rxv)
if yon!="1":
riy=currentrotation[1]
else:
riy=ry+random.uniform(-ryv,ryv)
if zon!="1":
riz=currentrotation[2]
else:
riz=rz+random.uniform(-rzv,rzv)
Eco.SetInstanceRotation(i,rix,riy,riz)
message="Eco Rotation Success"
else:
message="No Scene Loaded"
Message(message) # Display message
#--------------------------------------------------------------------------
# End of Script
#------------------------------------------------------------------------
Vue EcoSystem Vertical Scatter
Thursday, August 13th, 2009
This python script vertically scatters the objects in a Vue EcoSystem by a random amount and works with Vue Infinite and xStream.
Download: Vue EcoSystem Vertical Scatter Script (3k Zip Archive)
Python Code – Vue EcoSystem Vertical Scatter Script
#***********************************************************************
# Set all instances in an EcoSystem to have random heights
# - EcoVerticalScatter.py
# -
# - By Mark Caldwell
# - Version 0.1
# - 5th September 2007
# - Checked with Vue 6.5 Infinite
#
# How to use in 4 easy steps
# 1. Select an object with a populated EcoSystem
#
# 2. Run this script
#
# 3. Enter the values requested by the script
#
# 4. Wait for the script to work
#
#***********************************************************************
#------------------------------------------------------
# Get Input and Test Value is a positive floating point
#------------------------------------------------------
def TestVal (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if float(val)>=0:
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must an positive number\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=Prompt ("Error: Value must an positive number\n\n"+messagetxt,val,true,titletxt)
return float(val)
#--------------------------------------------
# Start of Main Code
#--------------------------------------------
import random
#--------------------------------------------------------------------------
# Test the user has a scene loaded
#--------------------------------------------------------------------------
if TestLoaded():
#--------------------------------------------------------------------------
# Test the user has 1 object selected with an Eco System on it
#--------------------------------------------------------------------------
numselected=CountSelectedObjects()
if numselected>1:
message="Please select only one object."
elif numselected<1:
message="Please select an object."
else:
#--------------------------------------------------------------------------
# Get User values for rotation required, which to rotate and randomness
#--------------------------------------------------------------------------
heightup=TestVal ('Maximum Z Increase','Maximum Z Increase','100')#
heightdown=TestVal ('Maximum Z Decrease','Maximum Z Decrease','0')
#--------------------------------------------------------------------------
#Set Up a Few Variables
#--------------------------------------------------------------------------
bObject=GetSelectedObjectByIndex(0) # Get first selected object
Eco = GetEcosystemOnObject(bObject) # Get EcoSystem on first selected
objlist=[bObject]
if Eco==None:
message="Please select an object with an EcoSystem material applied to it."
elif bObject.IsLocked(): # Check object isn't locked
message="Please select an object that isn't locked."
else:
ecocount=Eco.GetInstanceCount () # Count number of instances in EcoSystem
if ecocount==0:
message="Please select an EcoSystem that has been populated."
else:
#--------------------------------------------------------------------------
# Rotate EcoObjects
#--------------------------------------------------------------------------
for i in range(0,ecocount):
currentposition=Eco.GetInstancePosition (i)
x=currentposition[0]
y=currentposition[1]
z=currentposition[2]+random.uniform((-heightdown),heightup)
Eco.SetInstancePosition(i,x,y,z)
message="Eco Vertical Scatter Complete"
else:
message="No Scene Loaded"
Refresh()
Message(message) # Display message
#--------------------------------------------------------------------------
# End of Script
#------------------------------------------------------------------------
Twitter Weekly Updates for 2009-08-02
Saturday, August 1st, 2009
- Weather = Yuch so just messin' around with Vue #
- @very_true_thing So did it work? in reply to very_true_thing #
- Comment spammers found my site yesterday and (so far) akismet has caught every single one of em #
- Sustained in my editing efforts by an excellent batch of Pork and Mushroom Curry http://bit.ly/AgZze #recipe #food #
- RT @AllenVarney William Shatner masterfully recites Sarah Palin's farewell speech (Conan O'Brien): http://bit.ly/RkVWx via @JamesWallis #
- RT: @jearle Big Cat sighting in Scotland. http://tw3.it/LI – it's a Puma, by the look of things, running wild. #
- RT: @KimKnox ooh this looks very cool. Trailer for Waters of Mars – Doctor Who http://bit.ly/AQtBJ #
- So I need to join Scribd to download a pdf copy of a document but not to print it? Stupid controlfreakery and bad for the environment too #
- And printing from Scribd in Firefox = completely broken too. 20 sheets of paper wasted. /rant #
- RT @jearle If you Google "Scottish Cuisine", my Munchy Box blog post is on the front page. http://bit.ly/e640w #
- @jearle Wish I'd photos of the Scottish Indian I had a business trip. Unlike any English Indian I've had. Clearly related to your Munchy Box in reply to jearle #
- @jearle I wish I could work that into my current project. I'm forcing myself to stick to just London so it wont get out of hand in reply to jearle #
- Can it really take an hour and a half to visit the Pencil Museum? http://bit.ly/6Rsuo Is it twinned with the Hotel California? #
- @KimKnox So how cheesy is Satin Spar's cover or is it classy like Dark Host? in reply to KimKnox #
- @KimKnox Good news – I'll look forward to seeing it then. Meanwhile contemplating if IsItCheese.com or CheeseOrNot.com is a better URL… in reply to KimKnox #
- @KimKnox Hmm. That ones barely work safe… in reply to KimKnox #
- Aarrgh. Basic maths failure. What was I thinking when I wrote a table for a 3d6 roll with the first entry being for a roll of 2? #
- Some really nice entries for the Vue 3D Environment Competition 2009 http://bit.ly/1b7BE9 glad I don't have to pick the winner #
- listening to "cacharpaya – incantation 1982" ♫ http://blip.fm/~at2mc #
- listening to "Capercaillie – Coisich A Rùin – video clip Gàidhlig Gaidhli" ♫ http://blip.fm/~atgp8 #
- listening to "MANDOLIN RAIN original video" ♫ http://blip.fm/~atp60 #
- RT @criticalhits Why can't we show these ads instead of Evony http://is.gd/1TeiZ #
- I always thought some perfumes should be banned under the Hague Conventions http://bit.ly/t2LBr #
- @jearle lol. We'll keep that off the banned list just for you. in reply to jearle #
- @KimKnox Let Blur distract you. That way the rest of Write Club don't feel so bad about our pitiful comparative word counts in reply to KimKnox #
- for @KimKnox your mission should you choose to accept it is to finish Space Fluff ♫ http://blip.fm/~autqy #
- RT @johnmcc: Probably the best explanation of the xhtml 2 announcement I've yet seen: http://bit.ly/2pSCJN via @jearle #
- Will economics defeat Moore's Law? http://bit.ly/ThLjm #
- @KimKnox Sounds like you need this instead of Mission Impossible ♫ http://blip.fm/~auw9u #
- Looking for the Johnny Clegg original I found this cover ♫ http://blip.fm/~av040 #
- listening to "Tanita Tikaram – Twist In My Sobriety" ♫ http://blip.fm/~av0pd #
- listening to "Pet Shop Boys – Suburbia (HD)" ♫ http://blip.fm/~av1gx #
- Hunting for the early 90s rock cover. This isn't it but hey… ♫ http://blip.fm/~av1x0 #
- And it definitly isn't this one either – I give up ♫ http://blip.fm/~av2gz #
- Thats a tough one RT @mediaguardian: Vote for your favourite TV show of the decade: http://bit.ly/4t5loz. #
- From the Guardian: 'Swine Flu readiness has become a competitive sport'. Will we be hosting the world cup? http://bit.ly/kHmjv #
- @richeym The Wires really caught up. When I voted The West Wing was ahead of it. in reply to richeym #
- RT @DanDiplo Why you shouldn't design birthday cakes using Microsoft Word…. http://bit.ly/m484u #fail #programming #webdevelopment #
- Sausage Brown Barm Red Sauce #famishedfriday #
- @JamesWallis Far too early to call the Ashes because of three little words: England Batting Collapse in reply to JamesWallis #
- RT @guardiantech: Volomedia claims podcast patent http://bit.ly/yNcsq #
- @very_true_thing #VisitLondon (http://ustre.am/4n0W) Tower bridge faster than twitter – Just closed when I got the page loaded #
- listening to "The Peanuts Theme" ♫ http://blip.fm/~az5p3 #
It’s Trek Jim – Just as we Know It
Sunday, May 10th, 2009

But maybe there was a twist of something in the Romulan Ale.
I was pretty happy with J.J. Abrams take on Mission Impossible so I had high hopes for the new Star Trek film. I think I can safely say it didn’t disappoint. The cast played the characters rather than doing impressions of the original actors playing the characters. The effects were impressive. There were lots of nice touches for the fans without making it impenetrable for anyone who hasn’t watched all the gazillian hours of TV series and films plus read the various technical manuals. The plot made sense, which is always a plus point, even though it involved time travel.
It’s late so I’m going to leave it at that. Excellent film.
Update: Dark Dwarf has posted his impressions of Star Trek.
Sky Filter
Friday, March 27th, 2009
My first Vue Python script. Not exactly earth shattering as all it does is let you apply a colour filter to the sky or make the sky a solid block of one colour.
Note: This script does not work with Vue 6 spectral atmospheres.
Sky Filter 0.1 (1k Zip Archive)
Python Code
#**********************************************
# Simple Sky Colour Filter
# - skyfilter.py
# - Simple Colour Modification of Sky
# - By Mark Caldwell
# - Version 0.1
# - 2nd March 2006
# - Checked with Vue 5 Infinite Version 5.11 and Vue 6 Infinite Pre Release
# - Note this script will not affect Vue6 Spectral Atmospheres
#**********************************************
#**********************************************
#
# How to Use Simple Sky Colour Filter
# -----------------------------------
#
# Save this Python script onto your computer
#
# Go To Python -> Run Python Scripts
#
# Locate skyfilter.py
#
# Enter values requested
#
# Render scene to see effect
#
#**********************************************
#--------------------------------------------
# Get Input and Test Value for valuse 0-255
#--------------------------------------------
def TestVal (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if int(val) in range (0,256):
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must be an integer between 0 and 255\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=Prompt ("Error: Value must be an integer between 0 and 255\n\n"+messagetxt,val,true,titletxt)
return val
#--------------------------------------------
# Get Input and Test Value for valuse 0 or 1
#--------------------------------------------
def TestValZO (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if int(val) in range (0,2):
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must be either 0 or 1\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=-3
return val
#-------------------------------------
# Create Sky Callback Function
#-------------------------------------
def SkyFilterCallback(x_pos, y_pos, z_pos, x_dir, y_dir, z_dir):
return (int(red),int(green),int(blue),int(behind),float(trans))
#------------------------------------
# Ininitialise
#------------------------------------
red=TestVal ('Enter the Red Sky Filter Value (0-255)','Select Red Value','0')
green=TestVal ('Enter the Green Sky Filter Value (0-255)','Select Green Value','0')
blue=TestVal ('Enter the Blue Sky Filter Value (0-255)','Select Blue Value','0')
trans=TestVal ('Enter the Transparancy Value (0-255)','Select Transparancy Value','0')
trans=float(trans)/255
behind=TestValZO ('Enter 0 for in front of clouds\nEnter 1 for behind clouds','Filter Position','1')
SetSkyFilterCallback ( SkyFilterCallback )
Message("Simple Sky Colour Filter")
Eco Spray
Friday, March 27th, 2009
This python script coats the outside of an object with an EcoSystem. It won’t cover all faces because of the way it works. It will cover a sphere, cube, cone but won’t cover all of a torus.
Eco Spray 0.1 (3k Zip Archive)
Python Code
#******************************************************
# Spray an EcoSystem onto an object
#
# - ecospray.py
# - By Mark Caldwell
# - Version 0.1
# - 15th September 2006
# - Tested with Vue 5 Infinite 5.10 and Vue 6 Infinite Pre Release
# - http://www.impworks.co.uk/
#
# How to use in 3 easy steps
#
# 1. Download this file onto your computer
#
# 3. Select an object with a populated EcoSystem applied
#
# 4. Then run script and enter values when asked
# To run it go to Python -> Run Python Script
# Then locate the file on your computer
#
#******************************************************
#--------------------------------------------
# Get Input and Test Value for values 0-10000
#--------------------------------------------
def TestVal (messagetxt,titletxt,default):
hit=-2
val=-1
while hit<0:
try:
if int(val) in range (0,10000):
hit=1;
elif hit==-2:
val=Prompt (messagetxt,default,true,titletxt)
hit=-1
else:
val=Prompt ("Error: Value must be an integer between 0 and 10000\n\n"+messagetxt,val,true,titletxt)
except:
hit=-1
val=Prompt ("Error: Value must be an integer between 0 and 10000\n\n"+messagetxt,val,true,titletxt)
return val
#--------------------------------------------
# Set up Random Numbers
#--------------------------------------------
import random
ran = random.Random()
#----------------------------------------------
# Configuration: Get User Input
#----------------------------------------------
number_instances=TestVal ('Maximum Number of Instances to use (0-10000)','Select Maximum Instance','0')
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------
if TestLoaded(): # Test user has a scene loaded
#--------------------------------------------------------------------------
# Test the user has 1 object selected with an Eco System on it
#--------------------------------------------------------------------------
numselected=CountSelectedObjects()
if numselected>1:
message="Please select only one object."
elif numselected<1:
message="Please select an object."
else:
#--------------------------------------------------------------------------
#Set Up a Few Variables
#--------------------------------------------------------------------------
obj=GetSelectedObjectByIndex(0) # Get selected object
mat=obj.Material(0) # Get material on selected object
Eco = GetEcosystemOnObject(obj) # Get EcoSystem on first selected
if Eco==None: # Check object has an EcoSystem Material
message="Please select an object with an EcoSystem material applied to it."
elif obj.IsLocked(): # Check object isn't locked
message="Please select an object that isn't locked."
else:
#--------------------------------------------------------------------------------
# Find out how many different objects can be used as instances for this EcoSystem
#--------------------------------------------------------------------------------
newinst=0
instcount=0
while newinst==0:
ret=Eco.AddInstance(instcount)
if ret==-1:
newinst=1
else:
instcount=instcount+1
instcount=instcount-1
#--------------------------------------------------------------------------
# Coat
#--------------------------------------------------------------------------
Eco.ClearInstances () # Clear all instances from Eco
obj2=AddCube()
obj2.Resize(0.1)
pos=obj.Position()
rot=obj.GetRotationAngles()
obj.SetPivotPosition((pos[0]),(pos[1]),(pos[2]))
obj2.SetPivotPosition((pos[0]),(pos[1]),(pos[2]))
# Now apply instances
for i in range(0,int(number_instances)):
x=random.uniform(0,360)
y=random.uniform(0,360)
z=random.uniform(0,360)
obj2.SetPosition(pos[0],pos[1],(pos[2]+1100))
obj.Rotate(x,y,z)
hitobj=GetFirstHitObject ((pos[0],pos[1],(pos[2]+1000)),(0,0,-1))
SelectOnly(hitobj)
if obj.IsSelected():
SelectOnly(obj2)
Drop()
pos2=obj2.Position()
instno=random.randint(0,instcount)
inst=Eco.AddInstance(instno)
Eco.SetInstancePosition (inst,pos2[0],pos2[1],pos2[2])
obj.SetRotationAngles(rot[0],rot[1],rot[2])
SelectOnly(obj2)
Delete()
message="Coating Completed. "+str(Eco.GetInstanceCount () )+" instances used."
else:
message="No Scene Loaded"
Message(message) # Display message
#--------------------------------------------------------------------------
# End of Script
#--------------------------------------------------------------------------
Spooks won’t be Winning…
Monday, November 10th, 2008
…Great British Menu. Microwaving a land mine might be an original way to diffuse it (and inverts the microwave as bomb from Under Siege) – unfortunately it was a dastardly French landmine so it would fail the test of being regional. Not sure if it would count as seasonal either. The Bondish technobable element (like the localised EMP last series when a few well disguised tire bursters would have done the job just as well) crept in again – a bit of a shame since they could have just skipped it and then tracked the snatch car using a technobable CCTV / car number plate tracking system.
