このブログを検索

ラベル 3dsmax の投稿を表示しています。 すべての投稿を表示
ラベル 3dsmax の投稿を表示しています。 すべての投稿を表示

2014/08/23

Runtime error - dotNet runtime exception

フリーのスクリプト(dll付き)を実行したら以下の警告が表示されたと連絡があった。
自分のパソコンでも試してみたが結果は同じだった。
---------------------------
MAXScript MacroScript Error Exception
---------------------------
-- Runtime error: dotNet runtime exception: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
---------------------------
OK   
---------------------------
表示された警告内のリンクに飛んでみると
<loadFromRemoteSources enabled="true|false"/>
を追加したら?みたいな事が書いてあったが、そういう事じゃない気がすると思って他の方法を探す事にした。
うーん、と悩んでいると以下のサイトに行き当たった。

http://blogs.msdn.com/b/drew/archive/2009/12/24/xunit-and-td-net-fixing-the-attempt-was-made-to-load-an-assembly-from-a-network-location-problem.aspx

おお、そういうことかと。
dllって署名付いてないと実行できないんですね。
署名ついてに場合はファイルのプロパティから「ブロックの解除」をしてあげないと使いないんだ。知らなかった。

2014/04/19

dosコマンドとpowershellを使って自動でbackburnerを再起動する

backburnerが落ちているのを確認して再起動かけるのが面倒くさかった.
出来るだけ、レンダーマシンが判断してくれないかなと思って、dosコマンドで出来ないものかと考えたら、以下のbatファイルが出来た.

正直、がっつり検証したわけではないので、危うい感じもある.
ただ、自分の環境ではとりあえずうまくいっている(気がする).
# bb-process-checker.bat
-----
@echo off
set BB_FLAG=0
set BB_PROCESS_CHECK=`tasklist /NH /FI "WINDOWTITLE eq Backburner*"  /FI "STATUS eq NOT RESPONDING"`
for /F "skip=1 usebackq tokens=1" %%i in (%BB_PROCESS_CHECK%) do (set BB_FLAG=1)
IF 1==%BB_FLAG% (
        taskkill /F /FI "WINDOWTITLE eq Backburner*"
        taskkill /F /IM WerFault.exe
)
powershell -Command "&{$p='%ProgramFiles(x86)%\Autodesk\Backburner\server.exe';if(!(ps|?{$_.path -eq $p})){&$p}}"
exit
-----
内容は、”応答なし”になっていて、ウィンドウタイトルに”Backburner”うんたらと書いてあるプロセスがあったら、フラグを立ててプロセスを切ってあげて、最後にbackburnerのプロセスを確認して、起動していなかったら起動させる.というもの.

たぶん、powershellだけでもきっと出来るんだろうな.
時間があったら、フルpowershellで再現できるか確認しよう.

あと、taskkillの所で、余計なプロセスを削除するコマンドを追加しまくっていいと思う.

で、上記処理をタスクスケジュールにつっこんで、数分毎に実行させてればうまくいく?

2013/06/12

Autodesk 3dsmax 2013 AutoplayPreviewFileの設定が max 再起動後に反映されない

autodesk 3ds max 2013 "autoplay preview file" の設定が3dsmax再起動後に反映されないという現象が起こった.下記項目のチェックを外しても、3dsmax再起動後はチェックがついている...
3dsmax > toolbar > customize > preference > general tab > ui display > "autoplay preview file"
なんでだろうと思って調べてみたところ、描画モードがNitorusになっている事が原因なので、描画モードをDirect3Dに変更すれば解決するようだ.
描画モードは3dsmax.iniファイル内でも修正可能.
"%localappdata%\Autodesk\3dsMax\2013 - 64bit\ENU\3dsmax.ini"
上記のファイルを開いて、下記の部分を修正すればよい.
[WindowState]
GFXType=Nitorus --修正後--> GFXType=Direct3D

2012でも同様の現象が起こっていた.原因も2013同様Nitorusに起因するよう.
3dsmax 2014では描画モードがNitorusでも"AutoPlay Preview File"をオフに出来るようでした.

今回、3dsmax.iniファイルの書き換えタイミングを追って今回の現象を発見できたけど.
maxってほんと面白いなーと感じました。。。

2013/03/08

RayFire 1.59 Entropy_x64.gup エラー

3dsmax2012でネットワークレンダリングしたら、以下のエラーで怒られた.
ERR Task error: 3dsmax adapter error : Autodesk 3dsMax 14.0 reported error: DLL <C:\Program Files\Autodesk\3ds Max 2012\plugins\Entropy_x64.gup> failed to initialize.
調べてみたら、 1.59のEntropy_x64.gupはbetaとして提供されている機能らしい.
今回は特に使わないので、名前変更したら普通にレンダリングされた.
user> move "%ADSK_3DSMAX_x64_2012%plugins\Entropy_x64.gup" "%ADSK_3DSMAX_x64_2012%plugins\Entropy_x64.gup.bak"

2012/09/06

拡張子.maxのアイコンが表示されないときの対処


拡張子.maxファイルアイコンが表示されておらず、リンクが切れたアイコン表示になっていた.
調べたところ、レジストリの下記項目が無くなっていたので、新たに追加することで解決した.
※CCleanerで消したのが原因かも知れない.
HKEY_CLASSES_ROOT\3dsmax\DefaultIcon
.regファイル中身
[HKEY_CLASSES_ROOT\3dsmax\DefaultIcon]
@="\"C:\\Program Files\\Autodesk\\3ds Max 2010\\\\ui\\Icons\\file_3dsmax_max.ico\""
regファイルを実行後explorer の再起動をすればアイコンが表示される.

あと、.exeのアイコンが表示されなくなったら、以下のファイルを削除して、explorerを再起動してあげれば直るかも.(未検証)
%localappdata%\IconCache.db

2012/05/29

Autodesk 3dsmax ライセンスサーバの変更


サーバ名の指定は環境変数とレジストリで設定できる.
変数名:ADSKFLEX_LICENSE_FILE
変数値:@サーバ名
※ユーザ環境変数とシステム環境変数に同じ変数名があった場合、ユーザ環境変数が優先される.
レジストリパスは以下の通り.
3dsmax 2010以降 (Windows 7)
HKEY_CURRENT_USER¥Software¥FLEXlm License Manager
キー名:ADSKFLEX_LICENSE_FILE
キー値:@サーバ名

2012/05/16

dosコマンド実行結果を変数に格納

maxファイルがあるかどうか確認して、存在する場合は変数へ格納したかった.
下記方法で取得可能.
for /f "usebackq tokens=*" %%i in (` dir [folder]¥*.max /b `) do ( set VALUE=%%i )
※上記方法は、ファイルが複数ある場合は対応していない.

2012/05/15

Autodesk 3dsmax 2012 ライセンスの切替オプション

-yc オプションでスタンドアロンからフローティングに切り替えてくれる.
ただし恒久的ではない.
オプションをリンクに追加か、もしくは再インストールしたほうが良い.
”C:¥Program Files¥Autodesk¥3ds max 2012¥3dsmax” -yc
試してないけど、もしかしたら3ds max 2010でも出来るかも.
ちなみに-y オプションでフローティングからスタンドアロンに切り替え可能なようだ.
”C:¥Program Files¥Autodesk¥3ds max 2012¥3dsmax” -y

2012/05/08

FumeFX_MR.dltの初期化エラー

FumeFXをインストールしたら、3dsmax起動時に以下のエラーが出た.
DLL <C:\Program Files\Autodesk\3ds Max 2010\plugins\Afterworks\FumeFX\FumeFX_MR.dlt> failed to initialize.Error code 87 - パラメーターが間違っています
検索したら、Windows7 SP1のせいでエラーを吐いていて、SP1の削除で対処出来るとのこと.
「FumeFX_MR.dlt」はFumeFXをmental rayでレンダリングする際に必要となるプログラムですので、シミュレーションやスキャンラインによるレンダリングには影響ございませんのでそのままご使用できます。 
mental rayは使用しないので削除して対処.

参考: [BornDigital]「FumeFX_MR.dlt」の初期化エラーに関して(投稿日時 : 2011/03/04)