SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Python in Houdini for Technical Directors Luke Moore, Senior Software Developer, Side Effects Software http://www.sidefx.com/masterclasses/
Content Covered ,[object Object],[object Object],[object Object],[object Object]
Assumptions ,[object Object],[object Object],[object Object]
A New Scripting Interface in Houdini 9 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Overview of Houdini's Python Scripting ,[object Object],[object Object],[object Object],[object Object]
 
Learning Python ,[object Object],[object Object],[object Object],[object Object],[object Object]
Experimenting with Python in Houdini ,[object Object],[object Object],[object Object],[object Object],[object Object]
Experimenting with Python in Houdini ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accessing Houdini from Python: The hou Module ,[object Object],[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object]
A Simple Example: Changing Path Prefixes ,[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
hou.session Module ,[object Object],[object Object],[object Object]
hou.session Module
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Simple Example: Changing Path Prefixes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interpreting Tracebacks ,[object Object]
 
Exploring the hou Module ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exploring the hou Module ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exploring  the hou Module ,[object Object],[object Object],[object Object],[object Object]
Exploring the hou Module ,[object Object],[object Object],[object Object],[object Object]
 
Python for the Hscripter ,[object Object],[object Object],[object Object]
Python for the Hscripter ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Python for the Hscripter ,[object Object],[object Object],[object Object],[object Object],[object Object]
Python for the Hscripter ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Invoking Python from Houdini ,[object Object],[object Object],[object Object],[object Object]
Shelf/Tab Menu ,[object Object],[object Object],[object Object],[object Object]
HDA Button Callback ,[object Object],[object Object],[object Object]
 
 
HDA Button Callback ,[object Object]
HDA Event Handler ,[object Object],[object Object],[object Object],[object Object],[object Object]
Parameters ,[object Object],[object Object],[object Object]
Parameters ,[object Object],[object Object],[object Object]
Parameters ,[object Object],[object Object],[object Object],[object Object],[object Object]
Parameters ,[object Object],[object Object]
Parameters ,[object Object],[object Object]
When Houdini Starts Up ,[object Object],[object Object],[object Object],[object Object],[object Object]
When Houdini Starts Up ,[object Object],[object Object],[object Object]
Python-Based SOPs ,[object Object],[object Object]
 
The Help Browser ,[object Object],[object Object],[object Object],[object Object],[object Object]
From Another Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loading Python Scripts from External Files ,[object Object],[object Object],[object Object],[object Object],[object Object]
Accessing Houdini from a Regular Python Shell ,[object Object],[object Object],[object Object],[object Object]
hython ,[object Object],[object Object],[object Object],[object Object]
Example: Loading a hip File and Running a ROP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: A Simple Python SOP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: Node Layout ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: Node Layout (continued) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: Node Layout (continued) ,[object Object],[object Object],[object Object],[object Object]
Houdini's Default Layout
Graphviz: 'dot' algorithm
Graphviz: 'neato-hier' algorithm
Graphviz: 'neato' algorithm

Weitere ähnliche Inhalte

Was ist angesagt?

Lab Log Summer 2016 - Sheng Li
Lab Log Summer 2016 - Sheng LiLab Log Summer 2016 - Sheng Li
Lab Log Summer 2016 - Sheng Li
Sheng Li
 

Was ist angesagt? (18)

Python scripting kick off
Python scripting kick offPython scripting kick off
Python scripting kick off
 
Pypy is-it-ready-for-production-the-sequel
Pypy is-it-ready-for-production-the-sequelPypy is-it-ready-for-production-the-sequel
Pypy is-it-ready-for-production-the-sequel
 
PyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtimePyPy's approach to construct domain-specific language runtime
PyPy's approach to construct domain-specific language runtime
 
Interpreter, Compiler, JIT from scratch
Interpreter, Compiler, JIT from scratchInterpreter, Compiler, JIT from scratch
Interpreter, Compiler, JIT from scratch
 
Threads and Callbacks for Embedded Python
Threads and Callbacks for Embedded PythonThreads and Callbacks for Embedded Python
Threads and Callbacks for Embedded Python
 
Go. Why it goes
Go. Why it goesGo. Why it goes
Go. Why it goes
 
MeCC: Memory Comparison-based Code Clone Detector
MeCC: Memory Comparison-based Code Clone DetectorMeCC: Memory Comparison-based Code Clone Detector
MeCC: Memory Comparison-based Code Clone Detector
 
Coding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBMCoding in GO - GDG SL - NSBM
Coding in GO - GDG SL - NSBM
 
Golang iran - tutorial go programming language - Preliminary
Golang iran - tutorial  go programming language - PreliminaryGolang iran - tutorial  go programming language - Preliminary
Golang iran - tutorial go programming language - Preliminary
 
Про асинхронность / Максим Щепелин / Web Developer Wargaming
Про асинхронность / Максим Щепелин / Web Developer WargamingПро асинхронность / Максим Щепелин / Web Developer Wargaming
Про асинхронность / Максим Щепелин / Web Developer Wargaming
 
Lab Log Summer 2016 - Sheng Li
Lab Log Summer 2016 - Sheng LiLab Log Summer 2016 - Sheng Li
Lab Log Summer 2016 - Sheng Li
 
Inheritance compiler support
Inheritance compiler supportInheritance compiler support
Inheritance compiler support
 
Pointless Pointers - How to make our interfaces efficient?
Pointless Pointers - How to make our interfaces efficient?Pointless Pointers - How to make our interfaces efficient?
Pointless Pointers - How to make our interfaces efficient?
 
C++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogrammingC++ How I learned to stop worrying and love metaprogramming
C++ How I learned to stop worrying and love metaprogramming
 
Golang concurrency design
Golang concurrency designGolang concurrency design
Golang concurrency design
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
 
OpenMP
OpenMPOpenMP
OpenMP
 
Take advantage of C++ from Python
Take advantage of C++ from PythonTake advantage of C++ from Python
Take advantage of C++ from Python
 

Andere mochten auch

Nyc 2003 Blackout Photos
Nyc 2003 Blackout PhotosNyc 2003 Blackout Photos
Nyc 2003 Blackout Photos
choni0823
 

Andere mochten auch (20)

Milieu
MilieuMilieu
Milieu
 
Opening .NET Micro framework 14 juni (Erik Vermeulen)
Opening .NET Micro framework 14 juni (Erik Vermeulen)Opening .NET Micro framework 14 juni (Erik Vermeulen)
Opening .NET Micro framework 14 juni (Erik Vermeulen)
 
Nyc 2003 Blackout Photos
Nyc 2003 Blackout PhotosNyc 2003 Blackout Photos
Nyc 2003 Blackout Photos
 
Hom Class
Hom ClassHom Class
Hom Class
 
Opening DDD 3 Mei (Hans Odenthal)
Opening DDD 3 Mei (Hans Odenthal)Opening DDD 3 Mei (Hans Odenthal)
Opening DDD 3 Mei (Hans Odenthal)
 
Designing Beautiful Applications
Designing Beautiful ApplicationsDesigning Beautiful Applications
Designing Beautiful Applications
 
Innovation Quotes -Motivational
Innovation Quotes -Motivational  Innovation Quotes -Motivational
Innovation Quotes -Motivational
 
Customer Obsession
Customer ObsessionCustomer Obsession
Customer Obsession
 
Social Networking
Social NetworkingSocial Networking
Social Networking
 
Building Products The Amazon Way
Building Products The Amazon WayBuilding Products The Amazon Way
Building Products The Amazon Way
 
Habit Summit 2015 : Reduce Friction To Increase Engagement
Habit Summit 2015 : Reduce Friction To Increase EngagementHabit Summit 2015 : Reduce Friction To Increase Engagement
Habit Summit 2015 : Reduce Friction To Increase Engagement
 
Taishan_615
Taishan_615Taishan_615
Taishan_615
 
Taishan_607
Taishan_607Taishan_607
Taishan_607
 
Taishan_613
Taishan_613Taishan_613
Taishan_613
 
Taishan_603
Taishan_603Taishan_603
Taishan_603
 
Taishan_619
Taishan_619Taishan_619
Taishan_619
 
Fiverr Gig - South Florida News
Fiverr Gig - South Florida NewsFiverr Gig - South Florida News
Fiverr Gig - South Florida News
 
Opening Ruby on Rails 23 Mei (Paul Zenden)
Opening Ruby on Rails 23 Mei (Paul Zenden)Opening Ruby on Rails 23 Mei (Paul Zenden)
Opening Ruby on Rails 23 Mei (Paul Zenden)
 
Opening AJAX, Silverlight en JavaFX 19 December (Hans Odenthal)
Opening AJAX, Silverlight en JavaFX 19 December (Hans Odenthal)Opening AJAX, Silverlight en JavaFX 19 December (Hans Odenthal)
Opening AJAX, Silverlight en JavaFX 19 December (Hans Odenthal)
 
The Plan for an Epic Year
The Plan for an Epic YearThe Plan for an Epic Year
The Plan for an Epic Year
 

Ähnlich wie Hom Class

Introducing PHP Latest Updates
Introducing PHP Latest UpdatesIntroducing PHP Latest Updates
Introducing PHP Latest Updates
Iftekhar Eather
 
course slides -- powerpoint
course slides -- powerpointcourse slides -- powerpoint
course slides -- powerpoint
webhostingguy
 
Python分享
Python分享Python分享
Python分享
fangdeng
 
Unit 6
Unit 6Unit 6
Unit 6
siddr
 

Ähnlich wie Hom Class (20)

Python 3000
Python 3000Python 3000
Python 3000
 
Introducing PHP Latest Updates
Introducing PHP Latest UpdatesIntroducing PHP Latest Updates
Introducing PHP Latest Updates
 
Python Presentation
Python PresentationPython Presentation
Python Presentation
 
course slides -- powerpoint
course slides -- powerpointcourse slides -- powerpoint
course slides -- powerpoint
 
Python分享
Python分享Python分享
Python分享
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
 
Python - Getting to the Essence - Points.com - Dave Park
Python - Getting to the Essence - Points.com - Dave ParkPython - Getting to the Essence - Points.com - Dave Park
Python - Getting to the Essence - Points.com - Dave Park
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy Code
 
What's new in Perl 5.10?
What's new in Perl 5.10?What's new in Perl 5.10?
What's new in Perl 5.10?
 
Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go language
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...Using Flow-based programming to write tools and workflows for Scientific Comp...
Using Flow-based programming to write tools and workflows for Scientific Comp...
 
The GO Language : From Beginners to Gophers
The GO Language : From Beginners to GophersThe GO Language : From Beginners to Gophers
The GO Language : From Beginners to Gophers
 
Sbaw091006
Sbaw091006Sbaw091006
Sbaw091006
 
Perl Moderno
Perl ModernoPerl Moderno
Perl Moderno
 
Unit 6
Unit 6Unit 6
Unit 6
 
Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX GoGo 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX Go
 
Perl Dancer, FPW 2010
Perl Dancer, FPW 2010Perl Dancer, FPW 2010
Perl Dancer, FPW 2010
 
How Xslate Works
How Xslate WorksHow Xslate Works
How Xslate Works
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Hom Class