“I got compilation error while tryign to open editor”
You have a C++ project? If so make sure to do a full re-build of your project, (not regular VS build, rebuild), or you can delete your intermediate, .sln, .suo, .sdf, and right click on your .uproject and regenerate your VS files and then compile.
Reason: There’s a bug with plugins right now where unless you include intermediate, plugin wont compile often, and this stinks cause intermediate files are not supposed to be required and they are usually around 1 gb in size, so I can’t upload them.
Hey Rama, The ISM stuff is great! I’m using 4.10.2 and unfortunately it does not seem to be working. I uncommented your code that disabled ISM. I assume the reason you disabled it was because something wasn’t working. What I’m seeing is that when I convert a bunch of Static Mesh Actors to an ISM and I save the map, the transform array gets emptied, so all of the instances disappear when I reload the map or cook it. Have you seen this before? BTW, I’m quite familiar with C++ and very willing to debug this on my own, but I figured you may have run into this as well so I’d check with you first.
After looking at the UE4 source code pertaining to instanced static meshes, seems like they are never meant to be saved to disk but only used dynamically. Hence the Transform array being labeled Transient. Does anyone know if this line of thinking is correct?
UPDATE: Seems I was only partially right. When you add instances through editing the actual blueprint for the class that contains the InstancedStaticMeshComponent, they are serialized and saved. However, when you edit the component on an instance in a level and add a static mesh instance to the array, a copy of the template object is made after adding the new element to the array, replacing the instance you just edited and essentially discarding the changed you just made to said instance. I’m not sure why this behavior is the way it is or if there is a way around it. Going to keep digging.
The 4.13 Implementation
Basically my Victory ISM editor has to use a C++ based instanced static mesh actor in order to work correctly, as BP-added ISM components dont survive serialization for some reason, but my C++ class does, which is called VictoryISM.
The VictoryISM class is set in project settings -> Victory Ed Engine
You also have to set in your DefaultEngine.ini that you want to use VictoryEdEngine your extended UnrealEdEngine class
Select a bunch of static mesh actors, and press I in order to merge them, press SHIFT + I to separate them again for editing.
My merging process works with undo/redo feature of UE4
For those of you who were not aware, I have a Vertex Snap Editor Plugin that makes offers several different visual representations of vertices for static meshes so you can easily line things up exactly in the level editor!
I also offer a Instanced Static Mesh Editor feature where you can merge static mesh actors directly in the level viewport, and also unmerge at any time if you decide you want to adjust your chosen formation!
All of these features work with the UE4 undo redo system.
This Victory Ed Engine Plugin uses my Victory Plugin for the VictoryISM class.
I am including the entire 4.14 project that shows how everything has to be setup, including DefaultEngine.ini
I have just came here to find any solution to problems with installation of your plugin, and with no optimism went to the 4th page of this topic. And there it was, your answer to all my problems with engine versions and incompatibility, I am feeling like being gifted by your grace, just downloaded the 4.14 project files and everything is working brilliantly. And then I realized, that no one has posted anything here lately, no greetings, no recognition. This is amazing work that you are doing, and I have no doubt that you have created some main features that could be implemented into the UE4 itself. Of course Epic have done great job making the engine kid of open source, available for everyone, and giving attention into community, but you are the community, man! People like you make my world a better place to live.
Thank you very much for your plugin, i finally found for 4.14 and it working on your project…
But after i make another project, i already did all the instruction include editing the DefaultEngine.ini and showing no error…
Even i export plugin package from your downloadable project, then import the plugin to my new project…
but why i cant use VertexEditor ? i checked that in plugin setting is actived already…
but when i click static mesh, no menu showing on top left editor like your downloadable project…
Does ISM actor created by the plugin work on android? It seems to work flawlessly in the editor and in Moblie Preview. But on my android device the ISM actor simply does not render. Its baked shadow is there but the actor and any collisions are not present. At first I thought may be the device is missing an extension needed to support instancing. But then I put a regular instance actor with many instances manually setup into the scene and that shows up in android just fine.
I’d like to know if this plugin can be used on mobile or if I am missing something? It is the one platform where reducing the number of drawcalls even if only a few can have a major difference.
Hey Rama, awesome work. All of your stuff are simply amazing!
I have a small suggestion for this plugin, if you feel it could be done.
I have been working on an in-house engine for a while now, and there is a feature that I sorely miss in anything else. Teleporting an object instantly on a surface under your mouse cursor.
I have been looking for something similar and that’s how I found your plugin. I have been working on a new workflow with your tools and it absolutely destroys what comes in standard with UE4. It is much much faster and easier. I am using the T to move the object instantly under the mouse, then use the build in snap to floor that I have binded much closer to the T, or use your vertex snap if the objects are visible. Problem arises when the object you move is under the surface you need it to snap, then you can just pull on the Z axis and then do the snap to floor , but of course this increases the amount of operations.
I feel like there is a bit more optimization that can be achieved if only the object could snap immediately under the mouse cursor. What your tool only needs, to be perfect, is some trace that gets the first surface (in our case collision) under the cursor in the game world and uses the Z axis as well to snap the pivot of the object to this coordinates.
This feature is absolutely a 10 fold increase in environment art, level design or any kind of placement in the world, I seriously don’t see how more engine programmers don’t implement such functions as a baseline.
Anyway keep up the great work, you are awesome !
In 4.15 I give you an entire project with all that you need so it should work on editor load
If not, go to Edit->Plugins and make sure my plugins are enabled
If you don’t get any packaging errors than hopefully it worked? I have never done much with mobile, I am making a PC game
The only thing you really need from my plugin is the VictoryISM C++ Class, so if you could just get that on mobile, which should be easy in isolation, then you are set!
Any UE4 programmer could help you do that, its just that 1 class from my plugin, then put it in you rmain game C++ or as a separate plugin, and make sure to update my Victory Ed Engine Settings in Edit->Project Settings
But your ISMs are not showing up because that class is not getting packaged, so now you know what to do