unity 获取物体尺寸

??

unity3d中获得物体的size

以size的x方向为例

1:gameObject.renderer.bounds.size.x;//这个值的结果真实反应出有MeshRenderer这个组件的模型的尺寸。不须要再乘以localScale.x。

2:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x;//通过MeshFilter获得原始模型的mesh,该值返回的结果是原始mesh的尺寸。

若要获得模型的尺寸大小还须要乘以模型的localScale.x。

即:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x*gameObject.transform.localScale.x;

3:为物体加入Collider,然后使用XXX.collider.bounds.size;

这个不一定能非常好的反应物体的大小,bounds获得的是物体的外包矩形。

并且这个外包矩形的X,Y,Z和世界坐标一致。因此,若物体有旋转,获得的尺寸就不能反应出物体的真实大小,仅仅是其外包矩形的大小。。。

如:获得terrain的尺寸

terrainWidth = terrain.collider.bounds.size.x;

terrainLength = terrain.collider.bounds.size.z;

terrainHeight = terrain.collider.bounds.size.y;

4:代码实现获得复杂物体的尺寸(诸如根节点没有MeshFilter,MeshRenderer组件,物体是由非常多复杂不规则的小mesh子物体组成的)

如:

Camera的口径Size

当投影类型为Perspective时,fieldOfView属性表示口径的度数。范围为[1,179]

当投影类型为Orthgraphic,     orthographicSize属性为正交模式下的口径尺寸

时间: 2024-07-30 13:44:09

unity 获取物体尺寸的相关文章

unity批量获取物体组件修改值,拓展子物体查询

using UnityEngine; using System.Collections; public class Game : MonoBehaviour { // Use this for initialization void Start () { FindMaterials(this.transform); } // 根据 物体名称 获取 物体下的任何地方的子物体 void FindChild(Transform go,string name,ref Transform tr) { if

Unity 实现物体破碎效果(转)

感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In this tutorial I will show you how to create a simple shattering effect for your Unity game. Instead of just "deleting" a crate (or any other obje

Unity 获取网络北京时间

最近在做的单机,由于需要获得网络时间,搜了很多Unity获取网络服务器的代码,大多数不是接口已经失效就是代码过于繁琐.(心中满满的吐槽)直接放代码 获取网页内容后是 0=跟一个15位时间戳.需要自己转换成时间格式.

Android分享笔记(1) 获取屏幕尺寸,包括状态栏

一大波干货来袭,屏幕尺寸各种获得,状态栏尺寸可正确获得,亲测. package com.elyar.app.util.measure; import java.lang.reflect.Field; import android.app.Activity; import android.util.DisplayMetrics; public class DisplayMeasure {  /**   * Note:个人经验不服来辩<br>   * 只有activity可以使用getWindow

Android获取屏幕尺寸

有些时候,我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现.下面就介绍讲一讲如何获取屏幕的物理尺寸:从网上找过不少资料,发现获取屏幕尺寸并不是很复杂的编程操作,下面的代码即可获取屏幕的尺寸.在一个Activity的onCreate方法中,写入如下代码: DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric)

Android 获取屏幕尺寸与密度

android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲测一下 测试参数: 测试环境: i9000(三星) 物理屏幕:480*800px density :1.5 测试代码: [java] view plaincopyprint? // 获取屏幕密度(方法1) int screenWidth  = getWindowManager().getDefaultD

XCODE中新建工程出现无法获取屏幕尺寸问题

XCODE中新建工程出现无法获取屏幕尺寸问题 最近升级xcode为6后,突然发现新建的式程,在didFinishLaunchingWithOptions中获取的屏幕尺寸不对了,始终是320*480,以至于切换模拟器后,出现上下,都有黑边的情况 通过测试发现如下步骤可解决 1,删除LaunchScreen.xib 2,同时从info.plist中删除 Launch Screen File 3,将Launch Image Source 项设置为 LaunchImage即可 如下图

根据Url 获取图片尺寸 iOS

// 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL {     NSURL* URL = nil;     if([imageURL isKindOfClass:[NSURL class]]){         URL = imageURL;     }     if([imageURL isKindOfClass:[NSString class]]){         URL = [NSURL URLWithString:ima

获取屏幕尺寸

获取屏幕尺寸 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.b