- Home /
transform.parent == TheParentItShouldHave
hey im making a Multi player shooter where my player can get on top of boats and drive them
the Problem im having is that im lerping my local position to the last local position got from OnSerialize
but when i Get a board a boat i change my parent and like 1 out of 10 times the character goes aff the screen and returns
the reason i think this is happening is if im sending my local position when i have no parent its the equivalent of my global position but when i change my parent my network sends my position in my parent "LocalPosition" but the actual parent on other clients hasnt updated yet so they think its my position in the world "GlobalPosition"
the way ive been trying to fix this is checking if the parent im suppost to have is my actual parent if it is move me if it isnt dont move me.
code if(transform.parent.gameObject) == playerNetwork.BoardedVessel) { transform.localPosition = Vector3.Lerp(transform.localPosition, NetworkPosition, 10f * Time.deltaTime); }
player network is defined in my script the script.
the problem im having with this if statement is that if transform.parent.gameObject is null and playerNetwork.BoardedVessel(which is the boat i should be parented to) is null
the its saying if(null== null) which i dont think is working.
please help if you have any ideas my qestions dont usally get answered thanks ~Scott
if(null == null) will return true (the inside of the if statement will be executed) so I don't think that is the problem.
$$anonymous$$y question is why do you need to use localPosition rather than just position? it seems the unparented part would still work as position == localPosition with no parent, and I feel like it might fix the problem you are having when parented.
i need to use local position because when im on a boat i need the player to move with the boat.using position makes the character rubber band and affect the boats rigid-body which makes it act weird
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
[SyncVar] GameObject Instantiate returns null. 1 Answer
NullReferenceException: Object reference not set to an instance of an object 1 Answer
Transform.parent not set on clients UNET 0 Answers
Networking 8 CCU used constantly - Increments 4 for each player connected. 2 Answers