Accessibility
 
ホーム / 製品 / Director / サポート  
Director Icon Macromedia Director リリースノート
Director 8.5 日本語版リリースノート
はじめに
最新情報
マニュアルの補足
 Director 8.5 を使用する際のヒントやこつを説明します
マニュアルの内容について
 製品付属のマニュアルに対する変更点を取り上げます
既に報告されている問題点
 現在のバージョンで既に報告されている問題点を取り上げます

 

はじめに

Director 8.5 Shockwave Studio リリースノートへようこそ。 ここでは、マニュアルには記載されていない Director 8.5 の最新情報を取り上げます。

マニュアルの内容のほか、Director に関する最新のテクニカルノートやトラブルシューティング情報については、「Director サポートセンター」をご覧ください。Director を使用する際のヒントやテクニック、印刷版のマニュアルなどがあります。


最新情報
Director 8.5 の新機能については、Director のヘルプと、Macromedia の Web サイトを参照してください。
Shockwave コンテキストメニューには、新しい項目 [3D レンダラー] が追加されました。 プロパティのダイアログボックスの環境設定を変更すると、Shockwave の再生中にデフォルトの 3D レンダラーが変更される場合があります。 このメニューにアクセスするには、Shockwave ムービー上で右クリックするか、Control キーを押しながらクリックし、[3D レンダラー] を選択します。
Director 8 で導入された Shockwave.ini または projectorName.ini の機能に代わり、Lingo プロパティ debugPlaybackEnabled が新しく用意されました。 Macintosh 版の Shockwave では、メッセージウィンドウを開くことができません。代わりに、"Shockwave 8" フォルダにテキストファイルが作成され、ムービーから "put " ステートメントが書き込まれます。
ウォッチャーとデバッガの変数には、変数の値を表示するロールオーバーツールヒントが用意されました。 Lists と propertyLists は、より簡単に評価し、デバッグできるようになりました。

 


マニュアルの補足

 


ビヘイビア (3D)

[モデルをドラッグ] など、名前に「ドラッグ」を含む 3D アクションのビヘイビアでは、[マウス左ボタン] または [マウス右ボタン] トリガを使用します。 [マウスポインタが領域内]、[マウスポインタが領域に入る]、または [マウスポインタが領域を出る] トリガは使用できません。
複数のモデルを別々のグループに割り当てない限り、[モデルをクリックしてマーカーに移動] ビヘイビアは、スプライトごとに 1 つのモデルに対してのみ動作します。
スプライトが [ステージ最前面に置く] に設定されており、ハードウェアレンダラーが使用されていない限り、3D テキストに対して [軸を表示] および [再描画の切り替え] ビヘイビアを適用することはできません。

 


ボーンおよびキーフレームアニメーション (3D)

イベントコールバックの登録やイベント登録を行うときは、まずハンドラが存在することを確認することが重要です。これらのイベントコールバックは、失敗しても通知されません。 次に、#animationStarted および #animationEnded イベントを登録する前にハンドラの存在を確認して、"on startOfAnim" および "on endOfAnim" ハンドラを使用する、Lingo の例を示します。
if me.handler(#startOfAnim) then myModelReference.registerScript(#animationStarted,#startOfAnim, me) else alert "ハンドラが見つかりません" & #startOfAnim if me.handler(#endOfAnim) then myModelReference.registerScript(#animationEnded,#endOfAnim, me) else alert "ハンドラが見つかりません" & #endOfAnim
motion.type から返されるシンボルは、 対応するモディファイアと同じシンボルではありません。たとえば、 #bones は #bonesPlayer と同じではありません。また、#keyframe は #keyframePlayer と同じではありません。
#keyframePlayer または #bonesPlayer モディファイアを削除すると、アニメーションの状態が失われます。複数のルートを持つモデルでは、ボーンが正しく整列しません。
複数のルートを持つモデルでは、ボーンが正しく整列しません。
Shockwave 3D には、アニメーションのリストをキューに追加し、再生するための 2 つのプレイリストがあります (#bonesPlayer および #keyframePlayer) 。 これらは、サウンドチャンネルのプレイリストに似ていますが、明らかに異なる点が 1 つあります。 サウンドでは、新しいサウンドの再生が開始すると、キュー内の項目は削除されますが、 3D ではアニメーションの終了時に削除されます。

 


複製 (3D)

衝突モディファイアを割り当てたモデルを複製するとき、割り当てられた callbackHandler 以外はすべて複製に渡されます。 したがって、 callbackHandler を複製モデルに割り当てる必要があります。
モデルのディープクローンを実行する場合、resource.lod.level および resource.lod.auto の値は複製されません。
ライトを削除すると、ライトの複製は無効になります。 つまり、シーンに光を放射することなく、削除もできません。プロパティにアクセスすると、エラーメッセージが表示されます。


エクスポーター (3D)
3D Studio MAX 版のエクスポーターは、3D Studio Max バージョン 3.1 でのみ動作します。
複数のアニメーションを組み込んだシーンが MAX からエクスポートするとき、すべてのアニメーションの継続時間は、最長のアニメーションの長さに合わせて設定されます。 Director では、ほかのアニメーションには空白の時間が追加されます。 これを解決するには、すべてのアニメーションが時間 0 で開始するようにオーサリングし、endTime パラメータがアニメーションの実際の終了時になるように、queue() または play() を使用するときに指定します。または、モーションだけ (ジオメトリを除く) を個別にエクスポートします。次に、アニメーションのみのこれらの W3D ファイルをキャストに読み込み、 cloneMotionFromCastmember を使用して、 目的のメンバーでアニメーションを使用します。 loadFile() を使用してディスクファイルからロードおよびマージすることもできますが、この方法では Shockwave の環境にいくつかの制限が付きます。


一般事項 (3D)

多数のユーザーを対象としたムービ- を Shockwave 3D でオーサリングする場合は、古いビデオカードを使用されているマシンに問題が発生することが報告されている 3D 機能は使用しないことをお勧めします。 たとえば、ポイント、ワイヤーフレーム、サイズの大きい (512x512 を超える) テクスチャ、大量のポリゴン、フォグなどです。 テクスチャマップが連続したレイヤーに存在するようにムービーをオーサリングすることもお勧めします。

resetWorld() を呼び出すと、 3D シーンオブジェクトへの Lingo 参照はすべて無効になります。 resetWorld() を呼び出す前からある参照のほか、グローバルな参照も無効になります。 削除されたこれらのオブジェクトにアクセスしようとすると、オブジェクトが削除されたことを示すスクリプトエラーが発生します。
Shockwave 3D メンバーの実行時には、Shockwave 3D、INetURL、NetFile という 3 つのエクストラが必要です。
1 つのムービー内に、連続する 2 つの 3D スプライトがあると、"ちらつき" が発生する場合があります。 2 つのスプライトを 1 フレーム分重ねると、ちらつきが多少解消されます。


Havok Xtra (3D)
Havok マニュアルの Section 1.1 にある「Xtra Behavior Reference」では、Physics (HKE) または Physics (非 HKE) ビヘイビアが既にスプライトに割り当てられていることを想定しています。 これらのビヘイビアを割り当てないで次の例を実行すると、次のスクリプトエラーが発生します。
Script Error: Property not found
pHavok = pSprite.pHavok
#pHavok
Havok マニュアルの Section 2 にある「Xtra Behavior Reference」では、Havok ビヘイビアは Director の [Cast Library] ダイアログボックスからアクセス可能であると誤って記述されています。 これらのビヘイビアは、デフォルトでは Director の "Libs" フォルダにインストールされていません。 オーサリング環境で Havok ビヘイビアを使用するには、次の操作を実行します。
1 インストール CD の "Havok" ディレクトリにある "Havok Behaviors" フォルダ を、ルートの Director フォルダにある "Libs" ディレクトリ内にコピーします。
2 Director を起動します。
3 [ウィンドウ]->[ライブラリパレット]->[Havok Behaviors] を選択します。
havokRef.rigidBody() 関数では、大文字と小文字は区別されます。


Lingo (3D)
衝突などに対し、コールバックハンドラで "go to the frame" を使用しないでください。 代わりに、終了時に衝突ハンドラのグローバルまたはビヘイビアプロパティをフラグに設定します。続いて、exitFrame ハンドラでこの状態を確認し、そこで "go to the frame" を実行します。
ambient 、 diffuse 、blend の 3 つのプロパティは、モデルの shader 、inker 、および toon プロパティによって共有されます。 いずれかに値を設定すると、すべてのプロパティが同じ値に設定されます。
ベクターの floatPrecision に 大きい値を設定すると、デフォルトの浮動小数精度を使用するより値の精度が低くなります。 デフォルトの小数精度は 4 です。トランスフォームは、floatPrecision の設定に従いません。
axisAngle プロパティの x、y、または z コンポーネントに個別にアクセスし、設定するには、transform.axisAngle.z (または、x または y ) を使用します。このプロパティは、transform.axisAngle[1][1] などのリストアクセスをサポートしません。
ライトまたはその複製のカラー値を変更すると、すべてのライトが同じ値になります。
Lingo sendEvent() は、registerForEvent() を使用して登録されたスクリプトにだけメッセージを送信します。 member.model(1).registerscript() を使用して登録されたスクリプトにはメッセージを送信しません。
2 つのモデルが互いに接触し、それぞれに #collision モディファイアが割り当てられている場合、プロジェクタまたは Shockwave ウィンドウでフォーカスを切り替えるときに失敗する場合があります。


レンダラー (3D)
一般事項

Director 8.5 をインストールしても、Unsupported Drivers List (ディスプレイドライバに重大な問題が発生した場合、ハードウェア機能を無視して、指定されたレンダラーを設定する機能) はインストールされません。 Unsupported Drivers List は、 Shockwave 3D プラグインのインストールでのみインストールされます。 ただし、Shockwave 3D と Director 8.5 のどちらも、Unsupported Drivers List を利用します。
一部のレンダラーはフレームレートが低いため、特定のレンダラー (低速のソフトウェアレンダラーなど) で適切に再生されるムービーを作成しても、別のレンダラー (通常は高速のハードウェアレンダラーなど) では正しく再生されない場合があります。
複数モニタによる構成の場合、 3D レンダリングの品質と安定性は、ビデオカードとそのドライバの品質にかかっています。 Windows と Macintosh のどちらのオペレーティングシステムでも、デュアルモニタ構成では、十分な 3D グラフィックパフォーマンスが発揮できない場合があります。 できるだけ新しいビデオカードと、最新のドライバを使用することをお勧めします。 アップデートしても問題が解決しない場合は、ビデオカードの製造元に問い合わせてください。
ソフトウェアおよび DirectX では、光沢ライトはテクスチャの "上に" 適用されます。 デフォルトでは、OpenGL は光沢ライトをテクスチャの "下に" 追加します。 Director は OpenGL の拡張機能を利用して、DirectX とソフトウェアに似た結果を実現します。ただし、この拡張機能は、すべてのビデオカードや OpenGL の実装でサポートされるわけではありません。 たとえば、Macintosh はこの拡張機能をサポートしません。
メッシュプリミティブ上のフラットシェーディングは、OpenGL と DirectX レンダラーのどちらが使用されているかに応じて結果が変わります。

 

ハードウェア
Apple の OpenGL インストーラは、既存のグラフィックカードが搭載する OpenGL の拡張機能を上書きする場合があります。 Apple の OpenGL を追加した後は、グラフィックソフトウェアを再インストールすることをお勧めします。
OpenGL は、ステージ最前面に置かれていない 3D スプライトをサポートしません。 この場合、Director はソフトウェアレンダラーに切り替えられます。
Windows の場合、デュアルモニタをサポートするシステムでは OpenGL を利用できません。 オーサリングと再生は、DirectX またはソフトウェアレンダリングのみで利用できます。
DirectX 7 レンダラーを利用する場合は、ユーザのマシンに DirectX 7 以上がインストールされている必要があります。 インストーラは、http://www.microsoft.com/directx/ から入手してください。
ハードウェアの OpenGL レンダリングでは、DirectX またはソフトウェアレンダラーの場合よりも 3D オブジェクトが暗く表示され、光沢ライトが表示されない場合があります。
Windows システムにインストールされている DirectX のバージョンが、インストールされているディスプレイドライバが要求するバージョンよりも古い場合、Director 8.5 および Shockwave 3D で 3D レンダリングに異常が発生する場合があります。 これは Director または Shockwave の問題ではありません。 Microsoft の Web サイト (www.microsoft.com/directx) から DirectX の新しいバージョンをダウンロードしてください。 DirectX 5 用のディスプレイドライバであれば、DirectX7 システムで正常に動作するはずです。 ただし、DirectX5 システムで DirectX7 のディスプレイドライバを使用すると、問題が発生する場合があります。

ソフトウェア
ソフトウェアレンダラーを使用するとき、ステージにコピーする 3D スプライトの数が多すぎると、エラーメッセージが表示され、 Director が終了する場合があります。これは、ソフトウェアレンダラーがビデオメモリにアクセスできず、テクスチャを圧縮しないため、ハードウェアレンダラーより多くのメモリを使用するからです。
TextureRepeat は、ソフトウェアモードでは常に True です。
ソフトウェアレンダラーでは、ポイント、ワイヤーフレーム、フラットシェーディング、およびニアフィルタリング (アンチエイリアス) の 3D 機能を実行できません。 また、32 ビットの RGBA-8888 テクスチャをレンダリングすると、ソフトウェアでレンダリングされたイメージには、テクスチャフィルタリングのサポートがないため縞模様が表示されます。

 


テキスト (3D)

3D テキストスプライトを Shockwave 3D Media Viewer で開く場合、[ファイル]>[環境設定]>[エディタ] を開き、[3D テキスト] を選択します。次に、[編集] をクリックして、[Edit 3D text in Shockwave 3D] を選択します。 Shockwave 3D Media Viewer を 3D テキストのデフォルトエディタとして選択したら、キャストメンバーを編集できます。ステージでスプライトを選択して Return キーを押すか、キャストウィンドウのキャストメンバー、スコア、またはプロパティインスペクタのサムネイルを選択し、ダブルクリックするか Return キーを押します。
SDS (サブディビジョンサーフェス) および LOD (レベルオブディテール) モディファイアは、3D テキストでは機能しません。
ビヘイビアライブラリのスプライトトランジションビヘイビアは、3D テキストでは機能しません。
空の #Shockwave 3D メンバーに押し出されたテキストにテクスチャを適用するとき、テクスチャメンバーは 3D メンバーの前 (キャスト内) になければなりません。そうでない場合、テクスチャは表示されません。
3D キャストメンバーに押し出されたテキストの場合、カメラに向くように、またはその逆方向にテキストを回転しなければならない場合があります。
ビットマップへの変換は、3D テキストキャストメンバーでは機能しません。
Lingo の shaderList[x] は、 x で表される番号の文字にシェーダーを適用します。つまり shaderList[2] の場合、 テキストキャストメンバーの 2 番目の文字にシェーダーが適用されます。
下線およびスクロールバーは、 3D テキストでは機能しません。
3D テキストメンバーのテクスチャがちらついたり整列していない場合は、textureRepeatMode を FALSE に設定してください。 この現象は、特定のビデオカードとレンダラーの組み合わせの場合にだけ発生します。


一般事項

バージョンの異なる Director に対してスプライトやキャストメンバーをコピーしたり、貼り付ける機能はサポートされていません。


インストール

Director を Windows 2000 システムにインストールする場合、ユーザにはアドミニストレータの権限が必要です。


Lingo

開発者は、コード内で次のような循環参照を使用する場合、特に注意してください。
x = [1,2,3] y = [4,5,6] y[3] = x x[3] = y
x は y を参照し、y は x を参照するこの状態を循環参照と呼びます。開発者は、メモリのリークを回避するため、これを削除してください。 循環参照は、祖先が子を参照する親子関係のスクリプトでも発生する場合があります。 たとえば、祖先が自身から継承するスクリプトすべてのインスタンスのリストを保持していて、継承した各スクリプトが親への参照を保持している場合です。 この場合、各インスタンスでリークが発生します。インスタンスの使用後に消去してください。 Director は使用したメモリをクリアしますが、このような場合は開発者の責任で対処する必要があります。
Director の以前のリリースで使用されていた継続文字 (ャ) は、オーサリング環境でスクリプトをリコンパイルするときに、スクリプトエラーを引き起こします。 Director 8 で導入された継続文字 (\) を使用してください。 これで、既存のプロジェクタや Shockwave ムービーは、Shockwave 8.5 プラグインで再生される場合でも中断されません。


Java として保存

"Java として保存 "インストーラは、このリリースには含まれていませんが、テクニカルサポートのダウンロードページ から入手可能です。


Shockwave

Shockwave ムービーの作成時に、パブリッシュする直前に全スクリプトをリコンパイルしてムービーを保存すると、 .dcr ファイルのサイズが 500 〜 1000 バイト減少する場合があります。
外部からリンクされた Shockwave 3D キャストメンバーの preload プロパティにより、キャストメンバーは再生を開始する前に完全にロードされます。ただし、 Shockwave の場合は別です。 Shockwave では、ムービーの開始後に、キャストメンバーはストリームを開始します。 これは、Flash のキャストメンバーの動作と同じです。 したがって、キャストメンバーで 3D Lingo を実行する前に、3D メンバーの state プロパティで、少なくともヘッダがロードされている (state >= 2) ことを確認することが重要です。


サウンド

Director 8 で導入されたサウンド用 Lingo を使用する場合、Lingo 制御のサウンド再生にはチャンネル 3 ` 8 を使用して、サウンドチャンネル 1 と 2 で再生されるスコアサウンドと競合しないようにします。
プロパティインスペクタでサウンドをプレビューする場合、Director はチャンネル 1 を使用してサウンドを再生します。 つまり、チャンネル 1 のキューを設定した後に、プロパティインスペクタを使ってサウンドをプレビューすると、このキューはクリアされます。
チャンネルが利用可能であるかどうかを確認するには、sound(チャンネル).status <> 0を、soundBusy ( チャンネル ) の代わりに使用します。 Status は、チャンネルエンジンによって直接更新され、ほかの新しいコマンドによって変更された内容をより速く、正確にトラッキングします。