zoukankan      html  css  js  c++  java
  • Rigidbody.position/rotation更新测试

    Rigidbody.position/rotation主要提供在下一个物理步之前更新物理位置,一般用于SweepTest这样的接口

    那么测试一下会不会修改掉transform.position的值

    测试结果:并不会立即改变transform.position,而会在下一个物理步执行时改变。如果手动改变transform.position/rotation不受影响

    测试脚本:

    using UnityEngine;
    
    public class RigidbodyStepTest : MonoBehaviour
    {
        public Rigidbody rigidbodyComponent;
    
    
        void OnEnable()
        {
            rigidbodyComponent.position = Vector3.zero;
            Debug.Log("OnEnable: " + transform.position + " frame count: " + Time.frameCount);
        }
    
        void FixedUpdate()
        {
            Debug.Log("FixedUpdate: " + transform.position + " frame count: " + Time.frameCount);
        }
    
        void Update()
        {
            Debug.Log("Update: " + transform.position + " frame count: " + Time.frameCount);
        }
    }

    结果:

    由于Unity物理的更新在FixedUpdate之后,而FixedUpdate调用在Update之前,故Update时值归0了

  • 相关阅读:
    1007 Maximum Subsequence Sum(25 分)
    1006 Sign In and Sign Out(25 分)
    1005 Spell It Right
    1004 Counting Leaves
    Struts10分钟入门
    MyBais入门
    Hibernate注解
    save,flush,evict
    HQL连接查询
    Hibernate-延迟加载和立即加载
  • 原文地址:https://www.cnblogs.com/hont/p/5217800.html
Copyright © 2011-2022 走看看