Jump to content
  • Advertisement

Mussi

GDNet+ Pro
  • Content count

    850
  • Joined

  • Last visited

Community Reputation

4433 Excellent

About Mussi

  • Rank
    GDNet+

Personal Information

  • Industry Role
    Programmer
  • Interests
    Art
    Programming

Social

  • Twitter
    MussiKara

Recent Profile Visitors

16329 profile views
  1. I'm sorry, I don't understand what you're saying. If you'd like, maybe you could explain it with some pseudo code? In any case, decoupling simulation from rendering should not drop your frame rate. That being said, you don't have to use a fixed timestep, if variable deltas work for you then use that. However you mentioned the problem of tunneling in your op, if you want to prevent that you'll have to take special care for when your deltas become too large.
  2. No. Generally your FPS will be higher than your simulation rate. Say you have a moving ball, in state 1 it's at x=0 and in state 2 it's at x=10. Now as you are accumulating to go to state 3, you can render the ball being somewhere between x=0 and x=10 by simply interpolating based on how much time there is left to the next state. If your halfway through to the next state, you render the ball at x=5. To put it another way, say you simulate at 10Hz and render at 100fps, if all you do is render the result of one simulation, you'll be rendering the exact same thing 10 times over. This will look the same as rendering at 10fps. If instead you take the results of two states and interpolate between them, you'll see a smooth transition from one state to the other in a time period of 10 frames. This does mean some delay is introduced (1 / simulation rate), since you need two states to interpolate.
  3. This is done by decoupling simulation rate from frame rate. Generally when people talk about 3 frames for recovery, they are actually talking about 3 ticks/steps of game simulation, not the actual displayed frames (though these can be the same). There's a great article about this that you can find here.
  4. Kryptonite. On a more serious note, ask for past responsibilities, recent problems they've encountered and how they went about trying to solve those problems. An extra interviewer in the room is also nice to have if you can spare one. Also remember that an interview is a two way street, the perfect candidate might turn you down if you don't come of right.
  5. You also reduce power consumption, which is very important om mobile but also for desktop. It's more eco friendly and makes your graphics card not heat up as much (in some setups overheating can be a problem). A totally different reason to cap rendering is to reduce screen tearing. This is achieved by using v-sync, which syncs your fps up with the refresh rate of your monitor but comes with a small latency cost. For high twitch games like most first person shooters, players will usually disable v-sync.
  6. From twitter: "He’s in the hospital ICU and we are helping via FundMe to help his family with all the medical bills. Please share and help if you can." Here's the link to the FundMe.
  7. This is from twitter: " My brother, @IADaveMark has been struck by a car as a pedestrian while attending #GDC2018 . He is currently at SF General with a brain bleed. His family is desperately seeking more information about this incident. Please contact me if you know more. Spread the word please." I'm spreading it here in the hopes that more people see it. Please spread the word if you can. His brother is on Twitter: EagleEye1975 This is terrible news :(. I hope Dave recovers quickly. Link to the GoFundme campaign, this campaign is intended to raise money for Dave and his family to help with expenses including travel, medical costs, and rehabilitation. Essentially, anything they need.
  8. Mussi

    Animation IK

    There was a Twitter thread about it but can't really find it any more, was about a month ago. IK and retargetting aren't really the problem, afaik it's the constraint solving part that's hard to do in real-time.
  9. Mussi

    Animation IK

    Just FYI, the tech shown in the OP is not real-time, not sure if that was clear or not (it wasn't for me the first time I watched it).
  10. This can be done using mipmaps. Not sure if there's anything built into Unreal for this, but the idea is rather simple: http://aras-p.info/blog/2011/05/03/a-way-to-visualize-mip-levels/
  11. Mussi

    do i need to build my own assets

    This is also known as "blocking". Recently a lot of developers have shared images of their raw levels, you can find most them on #blocktober.
  12. Yes that is correct. Don't know about the numbers, but yes, you are supposed to get a new up vector. If your view direction is 0 in the z-component, the result of the cross product for your up vector should be (0, 0, 1). You can visualize the matrix by taking your left hand and forming a pistol with it, your thumb should point upwards and your index finger points away from you, now if you slightly open your middle finger it'll point to your right (example). This is basically your matrix, your thumb is the up vector, you index finger is your view vector and your middle finger is your right vector. Rotate your wrist and see what happens as your view vector changes. Note that all directions are orthogonal with each other, i.e. the angle between them is 90 degrees.
  13. No, the z-component should be 0, you have the order reversed. Also, your view direction is not of unit length. The columns of your matrix must all be of unit length so you must either normalize the result of the cross product, or normalize the view direction before you do the cross product. The cross product of two unit length vectors results in a unit length vector. Don't use the cross product on your point. Use the cross product to build your matrix, then multiply that matrix with your point to get the transformed point. The matrix is (right, up, view), the view is what you have and the right and up are what you can calculate as show in my previous post.
  14. A single view vector is not enough to describe the orientation of the camera, the camera can roll around the view direction. But as haegarr points out, you generally don't want your camera to be tilted, so you can probably get away with using (0, 0, 1) as your up direction. In order to build your camera matrix you simply need 3 orthogonal vectors: right, up, view. These vectors are the columns of your matrix, in that order. To get your vectors you can use the cross product: right = Cross(view, (0, 0, 1)); up = Cross(right, view); The reason we recalculate the up vector is because (0, 0, 1) is only orthogonal if view.z == 0. Now if your camera looks in the same direction or in the exact opposite of (0, 0, 1) the cross product becomes 0, which means this will not work, so keep that in mind.
  15. Mussi

    Free art assets

    Mixamo is also great for free 3D characters and loads of animations.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!