I state that I am not very experienced in Unity.
I am working on a project in which I have some pictures. To these images I have added an animation that modifies the viewing scale (x,y,z), in such a way as to obtain a pulsation effect. ("ImageEffectPingPong")
To these same images, however, I added another animation that when the image is clicked, a fade effect is obtained, in such a way as to make the image disappear.("fadeOut_x")
When I go to make transition one of the two animations to the animator, it works as it should. the problem is when I try to merge them.
The ImageEffectPingPong animation is set in loop, while the other is activated by setting a bool to the onclick event.
animator.SetBool($"img_{pos}",true);
This is my animator
I tried a combination like this, but when I hit the first image, the fade works, but I no longer get the "pingpong" effect I want.
So how do i get the pingpong effect and when i click on an image, the fade effect, without losing the pingpong effect on the other images?
PS: to create the first effect I created a single animation that changes the scale of each image at the same time, while for the fade effect, each image has its own animation. Images can disappear following the correct sequence.
Sorry for my bad English, I hope I have explained myself as well as possible, I remain available for any misunderstandings. thank you
in case anyone has the same problem as me, I was able to solve it by adding a layer. In the first layer I run the fade animation, while in the second the pingpong effect. It is important to set the weight of the layer.
Related
I'm trying to create a cumulative trail effect in a render texture. By cumulative I mean that the render texture would show the last few frames overlaid on each other. Currently, when my camera outputs to a render texture it completely overwrites whatever was there previously.
Let me know if I can clarify anything.
Thanks!
You could set the clear flag on the camera to Don't clear. This will prevent the clearing of previous frame on your camera and then will create this overlapping kinda like Flash movement style.
The issue is that everything will be kept on screen so if only the character moves then it is ok but if the camera moves then the effect also applies to environment and your scene becomes a big blur.
You could have two cameras for the effect, each with different rendering layers. One takes care of the items that should not have the effect and one takes care of those that are considered for the effect. This way you can apply the effect on characters and ignore the environment, if that is required else just go with one camera.
My app alternates "pages" of SceneKit content with images and text. When I advance from an image page to a new SceneKit page, the content from the previous SceneKit page is briefly displayed before being replaced by the new content. Funky.
I'm only using one SCNScene and one SCNView. When I transition to an image type page, I hide the SCNView. To reinstate a new SceneKit display I:
remove all nodes from the rootNode
load new node graphs from file
add the new node graphs to the rootNode
unhide the SCNView
Evidently the unhiding is asynchronous and I'm seeing the remnants of the earlier scene while the new one is establishing. I'm having a similar issue with AVPlayer as well.
In past apps I experienced this same issue with MPMoviePlayer and delt with it by displaying a blank view over the movie view and then hiding that on notification that the current movie had loaded. Perhaps I can deal with the AVPlayer issue in the same manner but I don't see this applying to SceneKit. Even in the case of AVPlayer I'd like a better way of dealing with the issue if possible.
edit_1: I've tried Hal's idea of swapping out SCNScenes but still get the momentary residual image. I've tried using two SCNViews and alternately swapping them out. I've also tried moving the camera past visible elements before exiting the current scene. The prepareObjects:withCompletion handler did nothing.
It appears that it's not the nodes nor the SCNScene that is persisting but a rendered image of the scene. This is also supported by witnessing this effect with movie players as mentioned above.
edit_2: I tried a mask but like all other attempts it fails. I did have "success" with using an SCNAction to move the camera offscreen plus a completion handler to effect changes only after. However, this extends the load time by about 800%! Better to have the ugly "flash".
I've got something that works but I'm skeptical. I've created a "nullCamera", one that points to an empty field of view. Before switching out my scenes I assign that camera to the SCNView. When the new scene loads the principal camera is re-assigned. But I'm nervous about this approach.
I tried this before and it didn't work. It now works because I moved the code upstream (instead of where it seems to belong). But the interveining code has nothing to do with SceneKit. It merely parses data for strings, sets color prefs and displays a title in a label. So I'm worried that it's only about timing and I may see the issue again on, say, a faster device. Maybe writing the title to a view element forces a re-display of the SCNView too? (Which I couldn't seem to effect with code.)
Been trying to get the slider to work as a banner of sorts. It is indeed working, mostly, but I keep bumping heads with this odd bug. The blue background takes the place of about half the image whenever it is moving, this can be due to a transition but also when you slide the image around slowly. See the picture below for more details.
The things I have done to the slider are simple, I've removed the share buttons, lowered both the arrows and the dots and finally I've added the two Icons seen above as circles on a white square. Please help!
I solved my problem by using another plugin. Others in my situation might want to try http://responsiveslides.com for another plugin.
I have two cameras in the same position.I want to switch from one camera to other (with a transition effect) such that second view replaces the first camera view entering from the left side moving inwards and filling the screen.. Camera fading in and fading out effects are available in unity wiki..Can anyone suggest me a technique to achieve this effect..
You can try to animate Camera.rect. Otherwise you will have to render both in a RenderTexture and combine rendered images in a small shader with a translate parameter changing from 0 to 1.
While i'm not really really sure of the application for the switching of the camera if you were to instantiate it dynamically you would be able to use lerp and other function calls to manipulate behavior and not need to use multiple cameras.
http://docs.unity3d.com/Documentation/ScriptReference/Vector3.Lerp.html
As a side note i'm sure you could reverse engineer some camera effects similar to this one in order to achieve the background(a little confused about what you want to do with that)
http://docs.unity3d.com/Documentation/Components/script-CameraMotionBlur.html
I am working on a sample in which I have placed two textures one above the other. What I want, whenever user moves his finger on the screen, underneath view should get revealed as he moves. Wiping out front view to reveal underneath view is what I am looking for.
I would like to know some of ideas/ thoughts to implement this feature using OpenGL ES. Any related pointer will be highly appreciated.
Thanks in advance.
This does not sound performance-intensive so simple code can trump complicated tuned operations.
You don't need to use OpenGL. You can simply have two images - front and back - with the front supporting an alpha channel. Each time you get a hit or move, you clear a circular patch whereever the impact is for some certain radius or such.
And then queue-up a redraw. The redraw draws the two bitmaps, back first then front.
If possible, try to queue a redraw for just the the area where you have updated the front since the last draw.