[PowerShell]Blenderランチャ
Windows PowerShellでBlenderのバージョンを切り替えて起動できるようにしましょう。
(動作確認したOSは Windows 10)
実行ファイル(Target)
2つのバージョンのBlenderがそれぞれ以下の場所にあるとしましょう。
・[2.82] C:\Program Files\Blender Foundation\Blender 2.82\blender.exe
・[2.83] C:\blender-2.83\blender.exe
スクリプトファイル
そして2つのファイルを同じフォルダ階層に用意します。
[b_launch.bat]
powershell -NoProfile -ExecutionPolicy Unrestricted .\b_launch.ps1
[b_launch.ps1]
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Select a Blender'
$form.Size = New-Object System.Drawing.Size(300,160)
$form.StartPosition = 'CenterScreen'
$okButton = New-Object System.Windows.Forms.Button
$okButton.Location = New-Object System.Drawing.Point(75,80)
$okButton.Size = New-Object System.Drawing.Size(75,23)
$okButton.Text = 'OK'
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $okButton
$form.Controls.Add($okButton)
$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,80)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Please select a Blender:'
$form.Controls.Add($label)
$listBox = New-Object System.Windows.Forms.ListBox
$listBox.Location = New-Object System.Drawing.Point(10,40)
$listBox.Size = New-Object System.Drawing.Size(260,20)
$listBox.Height = 40
$ble=@(
@("2.82","C:\Program Files\Blender Foundation\Blender 2.82\blender.exe"),
@("2.83","C:\blender-2.83\blender.exe")
)
for( $i=0;$i -lt $ble.Length; $i++)
{
[void] $listBox.Items.Add($ble[$i][0])
}
$form.Controls.Add($listBox)
$form.Topmost = $true
$result = $form.ShowDialog()
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
$x = $listBox.SelectedIndex
if( $x -ge 0 ){
Start-Process -FilePath $ble[$x][1]
}
}
デスクトップあたりにショートカットを用意しておいても良いでしょう。
実行方法
b_launch.bat をダブルクリックします。
するとダイアログが表示されるので、リストから起動したいバージョンを選択して、OKボタンを押します。
指定したバージョンのBlenderが開きます。
何も指定しないで OK ボタンを押した場合、 Cancel ボタンを押した、 x でダイアログを閉じた場合には何もせずに終了します。
正直このダイアログが出るワンテンポがまどろっこしく感じるくらい Blender は起動が速いので(ここが一番言いたいところ)、個人的には多分常用はしないでしょうけれど、一つの方法として紹介しておきます。
とか言いながら同じバージョンでユーザーフォルダを2つ切り替えられるように(その3で)したことで自分的に便利になっちゃって使っている頻度高くなってます。
参照先
こちらのソースをもとにしています。
続き
2020/05/31追記:他のランチャー的なヤツ
最近 3D人 さんのところで取り上げられた、Blender Launcher がありますね。各ビルドのダウンロードと配置を自動で行ってくれるヤツ。
blenderartists.orgのスレッドはこちら。
他にもどうやら作られた方がいらっしゃるようです。
BlenderHub って名前でリリースされているようですね
2020/9/12追記:バージョンを知るためのAdd-on
複数のバージョンをインストールした環境だと「Blenderに読み込んだ .bled ファイルのバージョンっていくつだっけなあ」ということがあります。2.79から2.8xにかけて、「ファイルの互換性が無い」という状況が実は有ります。なので、それが事前にわかると嬉しい場合があります。
上のほう、その2でD&D時にファイルのバージョン情報を判定するものを組み込んでいたりしますが、それもまあ非互換とかその辺を気にして、ってことです。
お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!