查看: 1502|回复: 1
打印 上一主题 下一主题

unity3d 漂浮效果 _代码

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-5-9 10:05:27 |只看该作者 |倒序浏览

   
        
            using UnityEngine;

            using System.Collections;

            

            public class Floater : MonoBehaviour {

                public float waterLevel, floatHeight;

                public Vector3 buoyancyCentreOffset;

                public float bounceDamp;

               

               

                void FixedUpdate () {

                    Vector3 actionPoint = transform.position + transform.TransformDirection(buoyancyCentreOffset);

                    float forceFactor = 1f - ((actionPoint.y - waterLevel) / floatHeight);

                  

                    if (forceFactor > 0f) {

                        Vector3 uplift = -Physics.gravity * (forceFactor - rigidbody.velocity.y * bounceDamp);

                        rigidbody.AddForceAtPosition(uplift, actionPoint);

                    }

                }

            }
        
   
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-11-25 03:43:31 |只看该作者
学习了。谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-20 01:50 , Processed in 0.063162 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部