Giter Site home page Giter Site logo

nvidiahairworksintegration's Introduction

English (by Google Translate)

NVIDIA Hair Works Integration

grass mite

NVIDIA Hair Works の Unity インテグレーションです。 MAYA や 3ds Max でオーサリングした Hair データを Unity で表示させることができます。

How To use

Unity 5.2 以降、かつ Windows & D3D11 専用です
使用には少々面倒な前準備が必要です。 Hair Works SDK は再配布が認められていないため、各自個別に NVIDIA の開発者サイトから入手してプロジェクトへインポートする必要があります。 以下に手順を記します。現状 SDK はバージョン 1.1.1 を前提としています。

  1. このパッケージ をプロジェクトへインポート
  2. Hair Works SDK を入手
  • https://developer.nvidia.com/gameworksdownload ここの NVIDIA HairWorks -> HairWorks 1.1.1
  • ダウンロードには NVIDIA の開発者アカウントが必要です。アカウント作成は無料ですが、申請から作成されるまでに 1 日前後時間がかかります。
  • MAYA や 3ds Max のプラグインもここから入手できます
  1. Hair Works SDK に含まれる必要なファイルをプロジェクトへインポート
  • HairWorks-r1_1_1-62/HairWorks/bin/win64/GFSDK_HairWorks.win64.dll を Assets/UTJ/Plugins/x86_64 の中にコピー

シェーダをカスタマイズしたい場合、hair には Unity のシェーダは使えないので独自に HLSL を書いてコンパイルする必要があります。 シェーダやプラグイン本体をビルドしたい場合、HairWorks-r1_1_1-62/HairWorks ディレクトリをまるごと Plugin/Externals の中にコピーしてから Plugin/HairWorksIntegration.sln をビルドします。
ちなみにスクリーンショットの虫は SDK 付属のサンプルで、media/Mite にあります。

Hair Instance Component

mite
前提として、現状 hair 関連のデータ (.apx, .cso ファイル) は、Assets/StreamingAssets 以下に置く必要があります。

  • "Load Hair Asset": hair のアセットファイル (.apx) を指定します。
  • "Load Hair Shader": hair のシェーダ (.cso = コンパイルされた HLSL) を指定します。 最初からデフォルトのシェーダが指定されており、変える必要があるケースは稀だと思われます。
  • "Reload Hair Asset/Shader": 実行中に .apx や .cso を更新した場合、それを反映させるにはこのボタンを押します。
  • Root_bone: bone の root となるオブジェクトを指定します。 SkinnedMeshRenderer がある場合、それの Root_bone がデフォルトで指定されています。
  • Invert_bone_x: チェックすると bone の x 座標を反転する処理が入ります。 FBX との座標系を一致させるためにこの設定が必要になるケースがあります。後述の FBX のロード設定にも注意を払う必要があります。
  • Params: hair の色やシミュレーションのパラメータを設定します。 これらのパラメータは .apx ファイルにも含まれており、デフォルトでそれが設定されています。 細かい調整にはこちらを使うといいでしょう。

モデルの座標の単位に注意が必要です
現状 hair はスケールをかけると結果が正しくなくなってしまいます。
Unity ではモデルはインポート時に File Scale によるスケールがかかりますが、 .apx のデータはこのスケールがかかる前の座標系になっています。
面倒なことに File Scale は 0.01 になっていることがよくあり、 こういう場合 .apx の座標系と Unity の座標系を一致させる必要があります。 DCC ツール側で File Scale が 1 になるように変更するか、 Unity 側で Scale Factor * File Scale が 1 になるように調整してスケーリングをキャンセルします。 後者の場合超でかくなってしまうので、前者による解決が望ましいでしょう。
参考: Import settings
mite

Hair Light Component

Hair をライティングするにはこのコンポーネントが必要です。通常の Light オブジェクトに追加します。 mite
大体見たまんまです。copy_light_params をチェックすると Light コンポーネントのパラメータをコピーして使うようになります。

Warning

Hair Works を含む NVIDIA GameWorks SDK は、使用する場合 NVIDIA のロゴの表示義務が生じます。 これは本プラグインを使用する場合にも適用されます。使用の際はこちらをよく確認してそれに従ってください。
GameWorks SDK EULA

大雑把にまとめると、ゲームの開始画面、マニュアル、プレスリリースなどに NVIDIA Game Works のロゴの表示義務が生じ、加えて商用利用の場合は NVIDIA へその旨を報告する必要がある、といったものです。ライセンス料の類は特にないようです。

License

MIT

nvidiahairworksintegration's People

Contributors

i-saint avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvidiahairworksintegration's Issues

Unity 5.4 support

The current HairWorks implementation is incompatible with Unity 5.4. Hair strands are flickering and also doesn't work properly with temporal anti-aliasing.

Virtual Reality Support

Hello, I tried this out and it's amazing! But only problem is, when I try it in virtual reality with oculus rift, it's only rendering in one eye. Is it possible to fix this?

こんにちわ。私は、このソフトを試しました。素晴らしいです!!
しかし、一つだけ問題がありました。バーチャルリアルティー「OculusRift DK2」でそれを試すと、片目でしか見ることができません。この問題を改善することはできますか?

UNITY 5.5 : error CS0443: Value or constant expected

hello, i got this error after i imported package into unity 5.5, and it says:
Assets/UTJ/HairWorksIntegration/Scripts/hwi.cs(227,52): error CS0443: Value or constant expected
after i import sdk from hairworks1.1.1 , it still show up this error. any idea?

Can't get it to work

Hello. I really want to use HairWorks in my game but when I attach HairWorkInstance.cs script to my gameobject(in this case the object is Mile because of testing in new project) no hair appears. I have selected Hair asset from the button. What am I doing wrong?

PLEASE HELP!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.