Forgot your password?   Click here   •   No account yet?   Please Register    •   Or login using  
JA ログイン
SideFX Homepage
  • 製品
    • 新機能
      • 概要
      • アニメーション
      • リギング
      • CFX
      • VFX
      • ルックデブ
      • Copernicus
      • Terrain & Modeling
    • Houdini
      • 概要
      • VFX
      • ワールド構築
      • ルックデブ
      • キャラクタ
      • モデリング
      • パイプライン と AI
    • Houdini Engine
      • 概要
      • Engine プラグイン
      • バッチ処理
    • Karma Renderer
      • 概要
      • Karma 機能比較
    • 製品比較
    • SideFX Labs
    • Partners
  • 業界
    • Film & TV
    • ゲーム開発
    • モーショングラフィクス
    • Virtual Reality
    • AI/ML 向けデータ合成
  • コミュニティ
    • フォーラム
    • ニュース
      • 概要
      • カスタマ ストーリー
      • Houdini HIVE Events
      • Contests & Jams
    • Gallery
    • イベントカレンダー
    • User Groups
    • Artist Directory
    • Houdini Merch Store
  • 学習
    • Start Here
      • 概要
      • My Learning
      • ラーニングパス
      • チュートリアル
    • コンテンツライブラリ
    • Tech Demos
    • Houdini 講演
    • 教育プログラム
      • 概要
      • 学生
      • 講師
      • 管理者
      • List of Schools
      • 学習リソース
  • サポート
    • カスタマーサポート
    • ライセンス
      • 概要
      • 商用版製品
      • Indie
      • EDUCATION 製品
    • ヘルプデスク FAQ
    • Houdini システム環境
    • ドキュメント
    • Changelog / Journal
    • Report a Bug/RFE
  • Get
    • Try
    • 購入
    • ダウンロード
    • お問い合わせ
 
Advanced Search
Forums 検索
Found 144 posts.

Search results Show results as topic list.

Technical Discussion » Retroreflection in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2025年5月9日 09:32:46
I guess I would just have faked it in Mtlx by increasing the specular amount to insanity. But we all know 1 is the max amount, also increasing the color value way above 1 doesn't help either.

Anybody succeeded in replicating something like a cateye reflector, or the reflective material on a warning vest?

Any tips are highly appreciated.


Cheers
Tom
See full post 

Solaris and Karma » Extract Solaris Camera Position to SOP Geometry

User Avatar
Tom Mangold
144 posts
オフライン
 2025年3月14日 05:06:16
You can access the usd_attrib(utes) and usd_localtransform(s) from a wrangle node in sops. Just make sure that there's a file node inbetween this query and the export to lops. Otherwise there's a problem (infinite loop).

No need for a lop camera import if this is possible.
Edited by Tom Mangold - 2025年3月14日 05:06:55
See full post 

Technical Discussion » Mtlx AO backface issue

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月28日 04:48:20
This seems to me like a bug. Backfaces appear black and not shaded correctly.

As if the normal for the ao calculation is pointing in the normal of the prim, but the shading is transfered to it's back. As if doubled sided calculations are broken.

Can anybody confirm this?

Using a mesh edit node with double sided checked didn't change anything.


Cheers
Tom
See full post 

Solaris and Karma » Rendervisibility -reflect NOT excluding coat reflections

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月23日 10:58:18
primvars::karma::object::rendervisibility -> -reflect not excluding the coat reflections. Is there a special flag like -coat (which doesn't work)?

Consider this kind of a bug.

Is there a list with additional flags except from the ones which pop up by using the presets?


Cheers
Tom
See full post 

Technical Discussion » No lights but the scene is not black

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月22日 12:11:10
This is unfortunately not feature, but something which just costs time. Especially since 20.5 it can only be disabled in the USD Render ROP.

No way to check the emission on it's own in the viewport. One needs to create a point light and place it infinity so that it won't light anything.

It's utterly strange to force a front light onto the user. If all lights are disabled, it's for a reason. If a headlight is needed, easy to create one.

At least bring it back into the Karma render settings, so that the scene can be viewed without the headlight. Or introduce it as a global preference setting.
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月15日 04:58:23
I highly appreciate your help!

Will still have to check the files though.

I made some progress in the meantime and I guess it's been your advice to "import as references" which made the difference. Suddenly it works. The python code with "AddReference()" does the job, "overwriting" the current low res mesh with the link to the high res one. Will post my code/scene later on so that hopefully somebody can profit from it too or tell me that this is the utterly wrong way to do it! : )
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月13日 18:00:40
P.S.: Can my problem be that I'm trying to sublayer a mesh which is probably not a layer in terms of the USD definitions? I also recreated the stage with an inline sop loading the .usd high res files. Just without the proxy meshes.

/
____/parking_lot (xform)
________/cars (xform)
____________/car_a (mesh) -> high res mesh, purpose "render"
____________/car_b (mesh) -> high res mesh, purpose "render"
____________/...

Using a sublayer node with the stage tree as seen in my former post in the 1st input and this tree in the second input also does nothing, EXCEPT from coloring the "cars" xform" green.

I though it would override the car_a and additional cars as well. : (
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月13日 10:23:45
Thanks so much! Again! : )

The only thing which stays unresolved yet is that my sublayer mesh doesn't replace the imported sop mesh. I thought by adding a sublayer Houdini/USD would check for another layer with the same name and replace it.

My stage looks a bit like this:

/
____/parking_lot (xform)
________/cars (xform)
____________/car_a__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_a (mesh) -> low res mesh, purpose "render"
____________/car_b__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_b (mesh) -> low res mesh, purpose "render"
____________/car_c__proxy (mesh) -> low res mesh, purpose "proxy"
____________/...

This got created by using a sopimport LOP node with import path prefix set to "/parking lot/cars". The meshes do carry the name attributes "car_a" and so on.

Now I use the sublayer LOP and import the high res mesh with the name attribute "car_a". Or the python code you posted. Same result.


I thought that it would replace my low poly mesh since it got the same name attribute. But it doesn't. It just adds it to the stage.

/
____/Geometry
________/car_a
____/parking_lot (xform)
________/cars (xform)
____________/car_a__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_a (mesh) -> low res mesh, purpose "render"
____________/car_b__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_b (mesh) -> low res mesh, purpose "render"
____________/car_c__proxy (mesh) -> low res mesh, purpose "proxy"
____________/...


BUT if I save the high res mesh with the name "/parking_lot/cars/car_a" it replaces the low res car like desired.

The problem is that I might want to place "car_a" in another scene not in a parking lot between other cars, but in a landscape.

/
____/landscape
________/car_a

So saving my high res asset with an absolute path is obviously not the best choice, since the car doesn't really now yet where it's going to be placed.

What I expect the tree to look like is

/
____/parking_lot (xform)
________/cars (xform)
____________/car_a__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_a (mesh) -> high res mesh, purpose "render"
____________/car_b__proxy (mesh) -> low res mesh, purpose "proxy"
____________/car_b (mesh) -> high res mesh, purpose "render"
____________/car_c__proxy (mesh) -> low res mesh, purpose "proxy"
____________/...

An alternative would be to already pass on an ".usd" path to the low res prims as a reference, but this seems to be not possible as far as I can tell.

Sorry for the underscores, but the spaces were removed.
Edited by Tom Mangold - 2024年11月13日 10:27:46
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月12日 14:07:37
Thanks so much for your example!

My workflow is slightly different and my problem unfortunately remains. : )

In the folder with my high res geo are about 20.000files, all .usd with a name attribute.

In SOPs I do have several low res primitives which then get transfered to LOPs.

These low res prims do carry a name and a path attribute. Name is identical to the high res version, path attribute is the path to the high res version.

In order to to see the low res prims there are two prims for each of them. One with the purpose "proxy" and "_proxy" attached to its name and one with "render" as the purpose.

If I use Houdini's sublayer LOP node and manually choose one of the high res files which is present on the stage as a low res file, then it replaces the low res "render" prim.

Everything as I'd like it to be. It displays the low res prim and renders the high res prim. BINGO.

Since I can't do this manually for all the prims I want to sublayer these files in the python lop.


https://docs.omniverse.nvidia.com/dev-guide/latest/programmer_ref/usd/layers/add-sublayer.html [docs.omniverse.nvidia.com]


That's the only help I can find on this subject. Unfortunately the code doesn't work. It throws an error "A layer already exists with identifier". Guess that's the fault of the CreateNew()

It's really tricky to find ANY documentation on python and sublayers except this one. And the usual search commands will almost always point you to this page. : /


https://docs.omniverse.nvidia.com/dev-guide/latest/programmer_ref/usd/references-payloads/add-reference.html [docs.omniverse.nvidia.com]


I wished I could see the python code within the sublayer LOP (knowing that it's most likely not python based).

I managed to get hold of all the low res prims I need to exchange and also the path attribute in python. I just struggle with the python code to override the layer with the sublayer or add the sublayer with the higher opinion (whatever the right terminology might be).

Anybody who knows the right syntax?


P.S.: I also exchanged stage with stage = node.editableStage() in the following code, still throws the error.



from pxr import Sdf


def add_sub_layer(sub_layer_path: str, root_layer) -> Sdf.Layer:
sub_layer: Sdf.Layer = Sdf.Layer.CreateNew(sub_layer_path)
# You can use standard python list.insert to add the subLayer to any position in the list
root_layer.subLayerPaths.append(sub_layer.identifier)
return sub_layer

#############
# Full Usage
#############

from pxr import Usd

# Get the root layer
stage: Usd.Stage = Usd.Stage.CreateInMemory()
root_layer: Sdf.Layer = stage.GetRootLayer()

# Add the sub layer to the root layer
sub_layer = add_sub_layer(r"C:/path/to/sublayer.usd", root_layer)

usda = stage.GetRootLayer().ExportToString()
print(usda)

# Check to see if the sublayer is loaded
loaded_layers = root_layer.GetLoadedLayers()
assert sub_layer in loaded_layers
Edited by Tom Mangold - 2024年11月12日 14:10:42
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月7日 07:28:21
Thanks so much for your input, which is really helpful to get the general idea.

But from a practical standpoint, how would I approach this?

I'd import the low res versions of the files (really low res on memory) into lops, reduce them in a sop modify node with a custom node depending on the camera view (delete prims which are out of view), pack them to get a point attribute with the USD reference file name, and then? At this point I'd like to establish that Houdini uses the file path to load the geo for rendering purposes while displaying the proxy version packed one).

How do I use the file path info to make it a reference. I'd like to choose a wrangle and convert it to a reference. Is this the way to go? The amount of different meshes requires that I use the file path attribute. I can't set up anything by hand per object.


Cheers
Tom
See full post 

Solaris and Karma » Swap proxies with high res meshes from disk in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月2日 05:45:22
Imagine a car park with hundreds of different unique vehicles, each 1.000.000 polys+. Impossible to load that scene into memory or even work with it.

Only way I see is to use proxies with a very limited amount of prims and have a file path which loads the geo if needed during the render takes place.

The purpose attribute with render/proxy seems to be kind of the way to do it, but the geo can't be kept in the scene memory. This would be a jut a solution to speed up opengl work, but doesn't overcome any limits set by the physical memory in the pc.

So, how is this practically done? With instances, with a special attribute, or something else?


Would love to get some input on this.


Cheers
Tom
See full post 

Solaris and Karma » Proxy mesh workflow

User Avatar
Tom Mangold
144 posts
オフライン
 2024年11月2日 05:26:20
This topic covers the render and proxy settings for geo which can be hold in Houdini'S memory. What about if the proxy doesn't have a render equivalent in the scene, but a file path to a .bgeo or .usd file on disk. How is this handled? Especially if we are talking about hundreds of different high res meshes.
See full post 

Solaris and Karma » Motion vector AOV in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月17日 18:14:27
Might have found the solution. IF I create a custom motion vector path "Disable image blur2 is grayed out and I get amotion vector and beauty image with MB applied.

If I just use the one click motion vector path the dialogue "Disable image blur" goes live and you can click it.
See full post 

Solaris and Karma » Motion vector AOV in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月17日 17:38:29
Thanks so much! Putting in the node finally gives me MB and the vectors. But I can't get rid of Karma actually motion blurring the image. While "Disable image blur" is on, it's also grayed out. So, I only need the vectors. : /

Need to check your file tomorrow.
See full post 

Solaris and Karma » Motion vector AOV in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月17日 14:04:07
20.5 the same. No shading except from black pixels in the motion vectors aov. 20.5.332

Normal map, depth map, all show up nicely. MV doesn't.

What are the setting which need to be enabled/disabled to get the correct aov?
See full post 

Solaris and Karma » Motion vector AOV in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月17日 10:59:00
Simply doesn't work in 20. Nightmare. Or 20 settings need to be in a certain way that even a lottery win is more likely. Both CPU and XPU don't tint any pixel in the Motion Vector path.
See full post 

Technical Discussion » Solaris workflow questions

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月8日 14:30:13
As much as I like aspects of the USD environment, there are currently more which I consider a handicap.

While some problems can be solved with some workarounds, others still remain a mystery.


a) How do I mimic the @instancefile workflow from sops? Right now I need to create a "sop create" node with a file import node inside to import a lot of files for instancing. One sop for each file, using the sop name as the file ending to "automatically" fill out the file name for import. How do I use an attribute, e.g. on the instance points to load a file or import a whole directory of prims for instancing? That's one of the strength of Houdini in general. But in USD?

b) Once the instances are spawned I need to edit some them some of for still life images because of the art direction. The tree or skyscraper needs to be moved or deleted. In SOP context no problem. Edit sop and I move or delete the point holding the packed geo. In USD it seems that I can't edit nor select the prim spawned on the point. I need to go back into the pointcloud, try to figure out which point is responsible for the instance and edit or delete the point. In SOP context I can easily use the instanced geo to select the point, in USD nothing happens. The selection tool doesn't select anything.

c) What makes it even more difficult to alter instances is that I can't keep the camera view from solaris switching into the sop context. Sop will have it's own viewport, lop camera not available as a choice for the perspective. Really difficult for selections or model/move something in camera space. Only workaround: Create a sop camera with the same settings and switch from stage to obj mode. Absolute workflow killer.

d) Searched a lot, but found no official way to do this: How to import a material name that it turns into a material binding on lop import and NOT a primvar? I don't want to import an existing material, but want to link the primitives with an attribute to an existing material in lops.

There's a vex script which does this which is at the same time not recommended.



While learning new stuff is also a joy, loosing methods which work perfectly fine is not helping to solve the daily tasks.


I'd highly appreciate some tips to make working with Solaris and Karma more user friendly.


Cheers
Tom
See full post 

Technical Discussion » Instancing packed geometry in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月5日 08:23:46
So far I just achieve results in which the transforms of the packed twigs are all messed up and over the place.

Is this even possible? Instancing geo with packed geo on top of it?
See full post 

Technical Discussion » Instancing packed geometry in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月5日 08:06:15
Nobody???

Should I pack the whole tree (unique branches + packed twigs and leaves) together? Do I need to save it as an .usd file or will a sop import do the trick? Which settings are recommended on the instancer node?

Would appreciate if somebody could share a hint.

Cheers
Tom


P.S.: Instancing unpacked geo doesn't seem to be a problem. Maybe it's much lighter than the tree I'm trying to instance (unpacked 100.000.000 polys).
See full post 

Technical Discussion » Instancing packed geometry in Karma

User Avatar
Tom Mangold
144 posts
オフライン
 2024年10月1日 09:28:55
What's the secret? If I import my tree – branches unique geo, twigs with leaves packed geo – it displays correctly. If I instance this prim the branches and twigs are separated and I can see only the instanced twigs once, not "attached" to the branches.

How is this done correctly? Also how would nested packed geo work? Like packed leaves on packed twigs?


Cheers
Tom
See full post 
  • 最初
  • 1
  • 2
  • 3
  • 4
  • 最後
  • Quick Links
Search links
Show recent posts
Show unanswered posts
製品
  • Houdini
  • Houdini Engine
  • Karma Renderer
学習
  • Houdini 講演
  • 教育プログラム
サポート
  • カスタマーサポート
  • ヘルプデスク FAQ
  • Houdini システム環境
  • ドキュメント
  • Report a Bug/RFE
LEGAL
  • Terms of Use (英語)
  • Privacy Policy (英語)
  • License Agreement (英語)
  • Accessibility (英語)
  • Responsible Disclosure Program
COMPANY
  • SideFX社について
  • Careers
  • Press
  • Houdini Merch Store
  • Internships
  • お問い合わせ
Copyright © SideFX 2025. All Rights Reserved.

使用言語