![]() |
|
#1
|
|||
|
|||
Jeff, thank you for your reply and the advice.
In the meantime I have created my own slice-based cylinder (100 slices, simply looped code with increasing height offset) with a decreasing alpha. Looks ok-ish for the purpose. I only have one issue with this: The floor of the experimental space should resemble something like grass. I can't remember how but we ended up with an osgb object imported into the scene. At certain points of the experiment the floor gets rotated to prevent the participants to develop any orientation strategies apart from their actual instructions. And ever time after this rotation of the osgb model my cylinder gets opaque and strangely darkish if viewed from one half of the experimental space. From the other half it maintains its transparency. It does not matter whether the cylinder was present all the time, was set to invisible in the meantime, or got re-created from scratch. Do you have any idea why this might be and how I could prevent it? EDIT: And now I understand your above comment: the cylinder does not actually consist of slices, but more like cake pieces (makes sense, determines its roundness). This is why you were talking about fan-like elements. Last edited by peterparker; 09-04-2018 at 04:51 AM. |
#2
|
|||
|
|||
Maybe some visuals to illustrate what I mean. the left side shows transparency working. If I rotate the view only a little bit further, it does not work anymore. Basically the question is: do I look in the direction of 180° (left side, working) or 0° (right side, not working).
![]() ![]() |
#3
|
|||
|
|||
Turns out I was wrong. Around the ground rotation event there is a fade-out/fade-in sequence, which manipulates the alpha value of the ground model. This fading process actually is the culprit.
Now I only need to find out, how to fade out the ground without manipulating its alpha. And it would be interesting to understand, why the fading breaks my tube transparency, in the first place. (sorry for the confusion, this code isn't originally by me) |
#4
|
|||
|
|||
Can you post example code that reproduces the issue?
|
#5
|
|||
|
|||
Code:
import viz, vizshape, vizact import random # run script viz.go() viz.setMultiSample(4) # create world #world = viz.add('spot_rotation_resources/circle_grass_lukas2.osgb') world = vizshape.addCylinder(.01,50) #tex = viz.addTexture('GRASS.JPG') #world.texture(tex) world.color(viz.GREEN) light = viz.addLight() light.setEuler(0,45,0) # create spot spot_elevation = .05 spot_height = 2.5 spot_nslices = 1 #originally 100 spot_slice_height = spot_height / spot_nslices alpha_start = 0.5 alpha_end = 0.0 alpha_step = (alpha_end - alpha_start)/spot_nslices spot = [] for a in range(spot_nslices): cyl = vizshape.addCylinder(height=spot_slice_height, radius=0.30, color=viz.YELLOW, top=None) cyl.alpha( alpha_start + a*alpha_step ) spot_yPos = spot_slice_height/2 + spot_elevation + a*spot_slice_height cyl.setPosition([0,spot_yPos,10]) spot.append(cyl) # rotate ground def random_rotate(object_to_rotate, duration): rotate_val = random.randint(1, 360) spinto = vizact.spinTo(euler=(rotate_val, 0, 0), time=0, mode=viz.REL_GLOBAL) fadeout = vizact.fadeTo(0, time=duration) fadein = vizact.fadeTo(1, time=duration) rotate_action = vizact.sequence(fadeout, spinto, fadein) object_to_rotate.addAction(rotate_action) vizact.onkeydown('r', random_rotate, world, 1) Also works with Code:
vizact.onkeydown('s', world.alpha, .9) Last edited by peterparker; 09-06-2018 at 04:29 AM. |
![]() |
Tags |
cylinder, gradient, transparency |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
maintaining transparency in a model while fading in | krimble | Vizard | 3 | 08-17-2017 06:10 AM |
transparency control | hankiwan | Vizard | 1 | 02-14-2012 07:02 AM |
How to vary the transparency of the scene | whj | Vizard | 2 | 04-04-2010 08:16 PM |
How to vary the transparency of part of the scene | whj | Vizard | 0 | 04-02-2010 02:32 PM |
Quicktime movie with transparency channel | aaThomas | Vizard | 7 | 11-12-2007 09:54 AM |