Ok i just logged it . yeah i get same as you. No grass sound when on that component that had hole in it. reason i have dirt sound is the DefaultPhysicalMaterial is set to our dirt and that is the texture when you go in out of the hole so that’s why it works, but if i go to side section where tiny bit grass is its is still dirt so yes i do have same issue as you. Hmm time to solve this.
Hey i tried something and took our default file assigned it to grass not dirt i lost all footstep sounds wheni did that. thought i let you know it did that to mine
where the heck is the TraceHitInfo file at? problems in there. Is that engine only?
struct native transient TraceHitInfo
{
var Material Material; // Material we hit.
var PhysicalMaterial PhysMaterial; // The Physical Material that was hit
var int Item; // Extra info about thing we hit.
var int LevelIndex; // Level index, if we hit BSP.
var name BoneName; // Name of bone if we hit a skeletal mesh.
var PrimitiveComponent HitComponent; // Component of the actor that we hit.
};
That is because it’s the default physical material, so it has no properties set. I wouldn’t worry about that too much, you can just log the physical material itself and it will output the name of the physical material asset (whatever it’s called in the editor).
/** default footstep sound used when a given material type is not found in the list */
var SoundCue DefaultFootstepSound;
Where is this list at? landscape file? or is it the defaults in soundgroup file. figured this part out.
Ok until we solve this line.
PhysicalProperty = PBPhysicalMaterialProperty(HitInfo.PhysMaterial.GetPhysicalMaterialProperty(class’PBPhysicalMaterialProperty’)); So it is something and not nothing. Then we will solve this. Then rest of the code will run right.
We need to get this to not return the DefaultPhysicalMaterial in it. > HitInfo.PhysMaterial
No, that code is irrelevant, as the trace has already occurred at that point. All that code is doing it accessing a property on an object (the object being the incorrect Physical Material).
The issue is occuring in the trace itself. Something about cutting the hole is preventing the trace being able to detect the Physical material on the LandscapeHeightfieldCollisionComponent that is getting hit.
Roger that. I am taking off for the day but i will be back at this 1st thing in the morning.
Just a thought, it seems that trace is the cause and that is engine ran and we will not be able to get access to that, so i think we are screwed. If that is the case just make your PM_Default go to Dirt. So you will at least play that when you go in out of the hole. Sucky way to solve it, but looks like we have not much of a choice.
I read what you wrote and i agree about the track/ruts. Same with the digging that be some neat stuff if it could be accomplished.
I’m Taking and enabling tessellation and displacement on the material and adding that in now. I could just track each players vectors and have them drawn that on to a black/white texture and have that updating the landscapes displacement texture. i think that would make some nice ruts. Depending on torque at that time how (dark)deep that rut gets made. Have all that updating on tick in real time.
Well, the one solution I was considering was to export the landscape as a mesh (which you can do by selecting the landscape in the editor, then File->Export->Selected-Only). The landscape components are individually selectable once imported into a 3d modelling program, so you can choose just the one component you need.
Then reimport it and use it for all zero extent traces, and disable zero extent traces on the one component you will cut the hole (which you can do via unrealscript). Setting a unique material id for polys as per material layer is a pain, but not too bad (i think the layers export too anyway, but i haven’t tested it yet).