بهطور خلاصه:
یک متغیر سراسری (Global) که بیرون از خود پروژه تعریف میشه و TouchDesigner موقع اجرا میتونه ازش استفاده کنه.
کاربرد اصلی:
-
مسیرها (Path)
-
تنظیمات وابسته به سیستم
-
پروژههای چندسیستمی
-
پرهیز از hard-code کردن مسیرها
انواع Environment Variables در TouchDesigner
1️⃣ متغیرهای پیشفرض TouchDesigner (Built-in)
اینها از قبل توسط TD تعریف شدن و فقط مصرف میشن.
| Variable | کاربرد |
|---|---|
TOUCHDESIGNER_INSTALL_PATH |
مسیر نصب TD |
TOUCHDESIGNER_VERSION |
نسخه TD |
HOME / USERPROFILE |
مسیر Home کاربر |
TEMP |
فولدر Temp سیستم |
🔹 استفاده:
یا در پارامتر:
2️⃣ متغیرهای سیستمعامل (OS Environment Variables)
اینها در Windows / macOS / Linux تعریف میشن و TD هم بهشون دسترسی داره.
🔹 تعریف در ویندوز:
-
Environment Variables
-
System یا User Variables
-
Add → Name / Value
مثال:
🔹 استفاده در TouchDesigner:
یا در Python:
3️⃣ متغیرهای اختصاصی پروژه (Project-based)
خیلی حرفهای و تمیز 👌
برای پروژههایی که قراره روی چند سیستم اجرا بشن.
تعریف:
در Edit → Preferences → General → Environment Variables
مثلاً:
📌 اینها:
-
همراه پروژه ذخیره میشن
-
بدون دستکاری سیستم کار میکنن
استفاده:
4️⃣ متغیرهای موقت (Session-based / Runtime)
اینها فقط در زمان اجرا تعریف میشن و با بستن TD از بین میرن.
تعریف در Python:
استفاده:
📌 مناسب برای:
-
Live performance
-
Debug / Release mode
-
سوییچهای اجرایی
5️⃣ متغیرهای پارامتری (Expression-based Variables)
اینها Environment Variable واقعی نیستن ولی خیلی وقتها بهجاش استفاده میشن.
مثال:
یا:
📌 تفاوت:
-
محلی هستن
-
خارج از TD قابل دسترسی نیستن
تفاوت Environment Variable با Alias و Relative Path
| نوع | سراسری | قابل انتقال | وابسته به سیستم |
|---|---|---|---|
| Env Variable | ✅ | ✅ | ❌ (در پروژه) |
| Relative Path | ❌ | ✅ | ❌ |
| Absolute Path | ❌ | ❌ | ✅ |
بهترین Practice (خیلی مهم 🔥)
برای پروژههای جدی:
و همهچیز با:
نه:
.toe) بسته به شرایط، نقشهای متفاوتی ایفا کند [۱۳]. به عنوان مثال:.cmd در کنار پروژه خود بسازید [۴]. ۲. از دستور set برای تعریف متغیر استفاده کنید [۱۲]. ۳. با استفاده از مسیرهای نسبی (%~dp0)، فایل پروژه را فراخوانی کنید تا در صورت جابجایی پوشه، اسکریپت همچنان کار کند [۸].@echo off
set startup=controller
:: اجرای فایل پروژه با متغیر تعریف شده
start "" "C:\Program Files\derivative\TouchDesigner\bin\TouchDesigner.exe" "%~dp0\auto_start.toe"
startup را با مقدار controller دریافت میکند که میتوانید آن را با عبارت var('startup') در داخل نرمافزار فراخوانی کنید [۱۰، ۱۲].os در پایتون، میتوانید قبل از باز کردن پروژه، محیط سیستمعامل را تنظیم کنید [۳۳، ۳۵].import os
os.environ['startup'] = 'node'
os.startfile("Auto_Start.toe")
launcher.py شامل توابع paths و launch میسازد که وظیفه ترکیب مسیرها و تنظیم os.environ را بر عهده دارند [۱۸، ۲۰، ۲۹]. سپس در یک فایل اصلی، لیست تمام نمونههایی که باید اجرا شوند را به صورت دیکشنری تعریف میکند [۲۵، ۲۶].