•  Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见...
    Gizmos 类
    

         Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见的。 OnDrawGizmosSelected尽在脚本所附加的物体被选中时调用。

        类变量

        ◆ static var color : Color    //    描述:设置下次绘制的Gizmos的颜色。

        function OnDrawGizmosSelected()

        {
      
        Gizmos.color = Color.red;   
        var direction = transform.TransformDirection(Vector3.forward) * 5;  //    在物体的前方绘制一个5米长的线
        Gizmos.DrawRay(transform.position, direction);
       }

        ◆ static var matrix : Matrix4x4    //    描述:设置用于渲染所有gizmos的矩阵。

        类方法

        ◆ Static function DrawCube(center:Vector3,size:Vector3):void    //    描述:用center和size绘制一个立方体.

        Function OnDrawGizmosSelected(){
            
            Gizmos.color=Color(1,0,0,5);    //    在变换位置处绘制一个变透明的蓝色立方体
            Gizmos.DrawCube(transform.position,Vector3(1,1,1));
        }

        ◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,mat:Material=null):void    //    描述:在屏幕坐标下绘制一个纹理。用于GUI背景。

        ◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,leftBorder:int,rightBorder:int,topBorder:int,bottomBorder:int,mat:Material=null):void    //    描述:在屏幕坐标下绘制一个纹理。用于GUI背景。

        ◆ Static function Drawicon(center:Vector3,name:string):void    //    描述:在世界位置center处绘制一个图标.这个图标被命名为name并放置在Assets/Gizmos文件夹或Unity.app/Resoutces文件夹.DrawIcon允许你在游戏中快速选择重要的物体。

        在物体位置处绘制光源灯泡图标.因为我们在OnDrawGizmos函数内部调用它,在场景视图中 ,这个图标总是可点选的.

        function OnDrawGizmos(){
         Gizmos DrawIcon(transform.position,”Light Gizmo.tiff”);
        }

        ◆ Static function DrawLine(from:Vector3,to:Vector3):void    //    描述:绘制一条线从from到to.

        Var Larget:Transform;

       function OnDrawGizmosSelected(){
            if(target != null)
            {
                     
               Gizmos.color = Color.blue;   //从transform到target绘制一条蓝色的线
               Gizmos.DrawLine(transform.position,target.position);
            }
        }

        ◆ static function DrawRay(r:Ray):void

        static function DrawRay(from:Vector3,direction:Vector3):void    //   描述:绘制一个射线从from开始到from + direction.

       ◆ function OnDrawGizmosSelected(){

           Gizmos.color = Color.red;
           Direction = transform.TransformDirection(Vector3.forward)*5;
           Gizmos.DrawRay(transform.positon,direction);
       }

       ◆ Static function DrawSphere(center:Vector3,radius:flont):void    //   描述:用center和randins绘制一个球体.

        Function OnDrawGizmosSelected(){
         
          Gizmos.color = Color.yellow;     //    在变换位置处绘制一个黄色的球体
          Gizmos.DrawSphere(transtorm.position,1);
        }

        ◆ Static function DrawWireCube(center:Vector3, size: Vector3):void    //    描述:用center和radius绘制一个线框立方体.

        Function OnDrawGizmosSelected(){

         Gizmos.color = Color.yellow;     //在变换位置处绘制一个黄色立方体
         Gizmos.DrawWireCube (transtorm.position, Vector3(1,1,1));

        }

        ◆ Static function DrawWireSphere(center:Vector3,radius:float):void    //    描述:用center和radius绘制一个线框球体.

        Var explosionRadius = 5.0;

        Function OnDrawGizmosSelected(){
        
         Gizmos.color = Color.white;    //选中的时候显示爆炸路劲
         Gizmos.DrawSphere(transtorm.position,explpsionRadius);
    }

    展开全文
  • unity3d可视化log工具

    2015-05-07 10:34:38
    自己做的一个可视化log界面,本来用NGUI写更方便,考虑到有时候不用NGUI,所以用GUI写的,先上几张图: 基本上就是unity3d编辑器的console的一个实现,如图1,上面有个组选,可以在log,warining,error间切换,...

    自己做的一个可视化log界面,本来用NGUI写更方便,考虑到有时候不用NGUI,所以用GUI写的,先上几张图:





    基本上就是unity3d编辑器的console的一个实现,如图1,上面有个组选,可以在log,warining,error间切换,下面是每一条log信息,点击之后最下面就是调用栈,

    C键可以清除当前log类型的所有信息,X键可以最小化,最小化后界面左上角有个小图标可以点击再显示,整个窗口可以拖动。

    要使用它只用把脚本挂在一个场景中的物体上就行,当然也可以代码调用,并可以设置宽高,默认是全屏大小的。

    下面上代码:

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Text;
    /// <summary>
    /// 可视DEBUG
    /// </summary>
    public class VisualLog4U3D : MonoBehaviour {
        #region XXX
        class StrPare{
            public string Str1;
            public string Str2;
    
            public StrPare(string s1,string s2){
                Str1 = s1;
                Str2 = s2;
            }
        }
    
        static List<StrPare> lst_log = new List<StrPare>();
        static List<StrPare> lst_warming = new List<StrPare>();
        static List<StrPare> lst_error = new List<StrPare>();
    
        private bool show = true;
        public bool showLog = true, showWarning = true, showError = true, autoSave = false;
        public int MaxLine = 100;
    
        void Awake() {
            if (MaxLine > 999)
                MaxLine = 999;
            SetWHByScale(1,1);
            Application.RegisterLogCallback(HandleLog);
            curLst = lst_log;
        }
        //系统debug回调
        void HandleLog(string logString, string stackTrace, LogType type) {
            List<StrPare> tlst = lst_error;
            switch (type) { 
                case LogType.Log:
                    tlst = lst_log;
                    break;
                case LogType.Warning:
                    tlst = lst_warming;
                    break;
            }
            addList<StrPare>(tlst, new StrPare(logString, stackTrace), 100);
        }
        int index = 0;
        int lastIndex = 0;
        Rect rootRect;
        List<StrPare> curLst;
        void OnGUI() {
            if (!show) {
                GUILayout.FlexibleSpace();
                if(GUILayout.Button("show",GUILayout.Width(Screen.width/5),GUILayout.Height(Screen.height/20))){
                    SwitchLog(true);
                }
                return;
            }else
                rootRect = GUI.Window(0, rootRect, rootWinFunc, new GUIContent("VisualLog4U3D"));
        }
        int w = 0;
        int h = 0;
        void rootWinFunc(int id) {
            GUI.BeginGroup(new Rect(10,20,rootW - 10*2,rootH - 20 * 2));
            if(w == 0)
                w = rootW - 10 * 2;
            if(h == 0)
                h = rootH - 20 * 2;
            index = GUI.Toolbar(new Rect(0, 0, w - h / 5f, h / 10f), index, new string[] { "log_"+lst_log.Count, "warning_"+lst_warming.Count, "error_"+lst_error.Count });
            if (lastIndex != index) {
                traceStr = "";
                lastIndex = index;
                switch (index) {
                    case 0:
                        curLst = lst_log;
                        break;
                    case 1:
                        curLst = lst_warming;
                        break;
                    case 2:
                        curLst = lst_error;
                        break;
                }
            }
            if (GUI.Button(new Rect(w - h / 5f, 0, h / 10f, h / 10f), "C")) {
                curLst.Clear();
                traceStr = "";
            }
            if (GUI.Button(new Rect(w - h / 5f + h / 10f, 0, h / 10f, h / 10f), "X")) {
                SwitchLog(false);
            }
            //Log
            GUI.BeginGroup(new Rect(0, h / 10f+10, w, h / 2-10));
            logWinFunc(2,w,h);
            GUI.EndGroup();
            //Trace
            GUI.BeginGroup(new Rect(0, h / 10f * 6, w, h / 10f * 4));
            traceWinFunc(3,w,h);
            GUI.EndGroup();
    
            GUI.EndGroup();
    
            GUI.DragWindow(new Rect(0,0,Screen.width-10,Screen.height-10));
        }
        void logWinFunc(int id,int w,int h) {
            Vector2 scrollPos = Vector2.zero;
            scrollPos = GUI.BeginScrollView(new Rect(0, 0, w , h / 2), scrollPos, new Rect(0, 0, w, h / 20 * curLst.Count));
            for (int i = 0; i < curLst.Count;i++ ) {
                if(GUI.Button(new Rect(0,0 + i*h/20f,w -20,h/20f),i.ToString()+" "+curLst[i].Str1)){
                    traceStr = curLst[i].Str2;
                }
            }
            GUI.EndScrollView();
        }
        string traceStr = "";
        Vector2 scrollPos = Vector2.zero;
        void traceWinFunc(int id,int w,int h) {
            scrollPos = GUI.BeginScrollView(new Rect(0, 0, w, h / 10f * 4), scrollPos, new Rect(0, 0, w, h));
            GUI.TextArea(new Rect(0, 0, w-20, h), traceStr);
            GUI.EndScrollView();
        }
        static void addList<T>(List<T> lst,T val,int maxCount) { 
            while(lst.Count>=maxCount){
                lst.RemoveAt(0);
            }
            lst.Add(val);
        }
        #endregion
        static int rootW, rootH;
        public VisualLog4U3D Get() { 
            var inst = GameObject.FindObjectOfType<VisualLog4U3D>();
            if (inst == null) {
                GameObject VisualLog = new GameObject("VisualLog4U3D");
                inst = VisualLog.AddComponent<VisualLog4U3D>();
            }
            return inst;
        }
        public void SwitchLog(bool on_off) {
            this.show = on_off;
        }
        public void SetWHByScale(float sx,float sy) {
            rootW = (int)(Screen.width * sx);
            rootH = (int)(Screen.height * sy);
            rootRect = new Rect(0, 0, rootW, rootH);
        }
    }


    展开全文
  • 三维可视化智能楼宇系统开发 问题总结 问题一: 如何提高加载速度 ...问题二: 提升3D可视化智能楼宇多物体渲染效率 解答:方法一: 将3D物体2D图标平面化,对所有图标进行编号,采用BufferRender缓冲绘制所有2D...

    三维可视化智能楼宇系统开发

    问题总结

    问题一: 如何提高加载速度

    解答:
    方法一:利用浏览器cache控制缓存
    方法二:利用建模技术,公共部分material的加载共用,并且配合缓存
    方法三:gzip压缩传输
    此方法可以加载60万平方米建筑3-5s左右

    问题二: 提升3D可视化智能楼宇多物体渲染效率

    解答:
    方法一: 将3D物体2D图标平面化,对所有图标进行编号,采用BufferRender缓冲绘制所有2D图标到一个平面,点击此平面时,精确到平面内的三角形,从而确定具体的物体。此方法可以解决一次性绘制上万个点位且点选场景。

    问题三: 解决三维可视化模型仿真问题

    解答:
    方法一:需要三维建模设计师在模型中事先设计好灯源灯光位置等参数,配合三维软件开发工程师,按照设计好的灯源灯光位置,补上灯光之后,模型仿真度至少提高50%以上。如果你的模型不够真实,可能因为没有灯光。

    问题四:模型大小问题(建模模型过大)

    解答:
    方法一:需要专一的游戏建模工程师对模型进行优化。(与此方法对应:不可使用Revert、CAD、倾斜摄影技术、UG等建模,通常这种工业级的建模,模型巨大,动则上GB)

    问题五:如何架构设计天空盒?

    解答:通过后台配置Excel,利用Action动态传到前台按照配置加载即可。
    B/S架构3D可视化智能楼宇系统开发总结

    项目演示

    3D可视化楼宇效果视频
    三维建模动画Demo演示
    三维建模智能楼宇演示
    搜索源代码及其他在线演示代码

    智能楼宇可视化系统果图

    B/S架构3D可视化智能楼宇系统开发总结

    B/S架构3D可视化智能楼宇系统开发总结

    B/S架构3D可视化智能楼宇系统开发总结

    B/S架构3D可视化智能楼宇系统开发总结

    B/S架构3D可视化智能楼宇系统开发总结

    B/S架构3D可视化智能楼宇系统开发总结

    转载于:https://blog.51cto.com/14274049/2373626

    展开全文
  •  Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见...

    Gizmos   类

         Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见的。 OnDrawGizmosSelected尽在脚本所附加的物体被选中时调用。

        类变量

        ◆ static var color : Color    //    描述:设置下次绘制的Gizmos的颜色。

        function OnDrawGizmosSelected()

        {
      
        Gizmos.color = Color.red;   
        var direction = transform.TransformDirection(Vector3.forward) * 5;  //    在物体的前方绘制一个5米长的线
        Gizmos.DrawRay(transform.position, direction);
       }

        ◆ static var matrix : Matrix4x4    //    描述:设置用于渲染所有gizmos的矩阵。

        类方法

        ◆ Static function DrawCube(center:Vector3,size:Vector3):void    //    描述:用center和size绘制一个立方体.

        Function OnDrawGizmosSelected(){
            
            Gizmos.color=Color(1,0,0,5);    //    在变换位置处绘制一个变透明的蓝色立方体
            Gizmos.DrawCube(transform.position,Vector3(1,1,1));
        }

        ◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,mat:Material=null):void    //    描述:在屏幕坐标下绘制一个纹理。用于GUI背景。

        ◆ Static function DrawGUITexture(screenRect:Rect,texture:Texture,leftBorder:int,rightBorder:int,topBorder:int,bottomBorder:int,mat:Material=null):void    //    描述:在屏幕坐标下绘制一个纹理。用于GUI背景。

        ◆ Static function Drawicon(center:Vector3,name:string):void    //    描述:在世界位置center处绘制一个图标.这个图标被命名为name并放置在Assets/Gizmos文件夹或Unity.app/Resoutces文件夹.DrawIcon允许你在游戏中快速选择重要的物体。

        在物体位置处绘制光源灯泡图标.因为我们在OnDrawGizmos函数内部调用它,在场景视图中 ,这个图标总是可点选的.

        function OnDrawGizmos(){
         Gizmos DrawIcon(transform.position,”Light Gizmo.tiff”);
        }

        ◆ Static function DrawLine(from:Vector3,to:Vector3):void    //    描述:绘制一条线从from到to.

        Var Larget:Transform;

       function OnDrawGizmosSelected(){
            if(target != null)
            {
                     
               Gizmos.color = Color.blue;   //从transform到target绘制一条蓝色的线
               Gizmos.DrawLine(transform.position,target.position);
            }
        }

        ◆ static function DrawRay(r:Ray):void

        static function DrawRay(from:Vector3,direction:Vector3):void    //   描述:绘制一个射线从from开始到from + direction.

       ◆ function OnDrawGizmosSelected(){

           Gizmos.color = Color.red;
           Direction = transform.TransformDirection(Vector3.forward)*5;
           Gizmos.DrawRay(transform.positon,direction);
       }

       ◆ Static function DrawSphere(center:Vector3,radius:flont):void    //   描述:用center和randins绘制一个球体.

        Function OnDrawGizmosSelected(){
         
          Gizmos.color = Color.yellow;     //    在变换位置处绘制一个黄色的球体
          Gizmos.DrawSphere(transtorm.position,1);
        }

        ◆ Static function DrawWireCube(center:Vector3, size: Vector3):void    //    描述:用center和radius绘制一个线框立方体.

        Function OnDrawGizmosSelected(){

         Gizmos.color = Color.yellow;     //在变换位置处绘制一个黄色立方体
         Gizmos.DrawWireCube (transtorm.position, Vector3(1,1,1));

        }

        ◆ Static function DrawWireSphere(center:Vector3,radius:float):void    //    描述:用center和radius绘制一个线框球体.

        Var explosionRadius = 5.0;

        Function OnDrawGizmosSelected(){
        
         Gizmos.color = Color.white;    //选中的时候显示爆炸路劲
         Gizmos.DrawSphere(transtorm.position,explpsionRadius);
    }

    原文地址:http://www.cnblogs.com/xpvincent/archive/2013/07/25/3214503.html

    展开全文
  • 对物联网3D可视化有极大的兴趣 4.愿意花时间研究开发。那么这篇入门教程很适合你喽~请继续往下看: 创建项目 创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,...

    此文只写给有需要的人,如果你与这相关:1.你是技术人员 2.你懂前端开发,懂js,熟悉webgl 3.对物联网3D可视化有极大的兴趣 

    4.愿意花时间研究开发。那么这篇入门教程很适合你喽~请继续往下看:

    创建项目

    创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,为保证项目的正确保存及运行,请您在账号登录之后再创建项目。您可通过以下三种方式创建项目:

    选择菜单区域的“文件 - 新建项目”选项

    点击工具栏“新建”图标,图标如右图所示:

    使用快捷键“Ctrl+P”

    编辑项目

    在线开发为用户提供了相应的快捷代码和官方示例,如果你正在用 ThingJS在线开发页面,可以通过以下两种方式来编辑项目:

    点击在线开发页面菜单区域的快捷代码选项中的子项,编辑区将自动插入相应代码

    选择在线开发官方示例中的其中任意一个示例,点击相应示例,编辑区将显示相应代码

    后续操作详见 在线开发 - 应用开发 - 在线开发

    保存项目

    可通过以下四种方式保存项目:

    选择菜单区域的“文件 - 保存”选项

    点击工具栏“保存”图标,图标如右图所示:

    使用快捷键“Ctrl+S”

    运行项目

    在线开发环境提供了以下几种方式运行项目:

    使用快捷方式“Ctrl+R/Enter”或点击工具栏中的“运行”图标,3d容器区域将运行编辑器相应的代码。图标如右图所示:

    选择菜单区域的“工具 - 设置”选型,出现的设置面板,点击开启“自动保存执行”


    界面介绍

    在线开发页面左边显示官方示例及用户创建并保存的项目,中间的编辑器则显示您已打开项目或文件的内容,而右侧主要显示项目运行之后的3D场景。

    界面区域

    菜单栏:对项目或项目文件操作的快捷入口,包括文件、快捷代码、资源、工具、项目、视图及帮助七个子项

    项目列表:官方提供的示例代码及用户项目的集合,其中用户项目只有登录之后才会显示

    工具栏:对菜单栏的图标化显示

    状态栏:用户项目、文件或官方示例的状态显示

    编辑器:当前打开项目的内容

    3D容器:项目运行后的场景可视化显示

    项目打印日志:项目运行输出的日志

    项目导航显隐切换:左侧项目列表显示/隐藏

    文件位置:当前打开项目/文件的路径

    申请建模: ThingJS平台提供的模型(设施设备、建筑外观等)定制服务,每个模型800元起。需填写相应资料发出申请,ThingJS平台会有专人联系并沟通服务细节。

    请求协助:为协助ThingJS用户快速入门,ThingJS平台可提供用户特定项目的框架代码开发服务。该服务可为用户快速构建符合项目基本需求的3D可视化框架代码资源(包括源码、3D模型、贴图、数据等),用户的技术团队可在此基础上快速上手,大幅提高3D可视化项目成功基础。

    充值:魔豆充值,包括两种充值方式:支付宝和微信支付。充值之后的魔豆可用于购买VIP、VIP续费或项目部署的付费。

    升级VIP:普通用户可通过支付宝、微信支付或魔豆支付三种方式升级为VIP。

    个人信息栏:用户名和用户头像

    容器浮动:点击“浮动”图标,3D容器将以浮动层的方式显示

    最大化预览:场景最大化预览

    在线咨询:ThingJS在线支持入口

    编辑器拖拽:调节编辑器及3D容器的宽度比

    主要功能介绍

    菜单栏

    在线开发环境的菜单栏位于头部左侧区域,主要由以下几部分构成:

    文件:对在线开发环境中用户的项目及文件进行的操作,主要包括新建项目、新建文件、保存及运行。详细介绍请参照 在线开发 - 菜单导航 - 文件管理

    快捷代码:为提高项目开发效率,ThingJS提供了的功能模块,点击快捷代码中的内容,编辑器将插入对应功能的代码。也可通过点击工具栏中的快捷代码图标进行相应操作。详细介绍请参照 在线开发 - 菜单导航 - 快捷代码

    资源:在线开发环境为用户提供的包括模型、园区、地图、图表、界面、动态背景灯及用户上传的多种资源集合。详细介绍请参照 在线开发 - 菜单导航 - 资源管理

    工具:主要包括场景信息、场景效果、拾取坐标、自定义模型和设置。详细介绍请参照 在线开发 - 菜单导航 - 场景工具

    项目:针对用户已开发项目进行的分享、部署及更新操作。详细介绍请参照 在线开发 - 菜单导航 - 项目管理

    视图:通过切换日志、3D容器和目录(项目列表)的显隐状态以及切换视图风格改变在线开发环境的界面布局。详细介绍请参照 在线开发 - 菜单导航 - 视图管理

    帮助:提供了快捷键的详细介绍以及ThingJS平台其他相关页面的快捷入口。详细介绍请参照 在线开发 - 菜单导航 - 帮助

    项目列表

    项目列表主要位于在线开发环境的左侧,主要包括官方示例和用户项目。可通过点击列表上方的“官方”和“我的”切换官方和个人项目:

    当切换至官方示例时,在列表标题下方的输入框搜输入相关内容可搜索相应的官方示例,点击相应示例,编辑器将显示对应代码,点击运行图标,右侧3D容器将显示示例对应的场景,用户可对编辑器内的示例代码修改并保存为个人项目。

    注:新增的示例右侧会显示一个新增标记(

    ),VIP专栏中的所有示例仅针对VIP用户开放。

    切换个人项目时,选中其中任一项目,右键选择“打开项目”,编辑器和3D容器将分别显示该项目的内容及场景,且项目及项目下的文件将显示在“当前项目”目录下。用户可编辑修改当前项目及项目下的文件。

    注意事项:

    用户只有在注册并登录 ThingJS 网站后,才能新建和保存项目,否则“我的项目”列表将不会出现在左侧导航栏中

    工具栏

    工具栏图标说明如下:

    图标图标说明

    新建项目:创建一个空项目,用户可在编辑器器内添增加或修改项目内容

    保存项目:保存当前处于编辑状态的文件

    执行项目:运行当前处于编辑状态下的项目或示例,右侧3D容器将显示对应场景

    项目分享:分享当前处于编辑状态的项目或示例

    模型:显示模型资源面板,面板中的模型资源由ThingJS提供的官方模型及用户选择或上传的模型构成

    园区:显示园区资源面板,面板中的园区资源由用户上传或CamBuilder同步过来的园区场景构成

    地图:显示地图资源面板,该面板中的地图资源是用户在CityBuilder创建的地图

    图表:显示园区资源面板,该面板中的图表模板由ThingJS平台提供

    界面:显示界面资源面板,该面板主要为ThingJS平台提供的Widget 面板组件的快捷方式

    动态背景:显示动态背景面板,该面板中的背景模板由ThingJS提供

    快捷代码:显示快捷代码面板,该面板是在线开发为提升用户的开发效率所提供的大量常用功能代码块的集合

    场景信息:显示场景信息(当前运行项目或示例对应场景的一系列信息)

    场景效果:显示场景效果面板,该面板内开关和按钮可调节3D容器场景的灯光、 后期、动态天空、雾等特效等场景效果

    状态栏

    介于编辑器与工具栏中间,用来显示已打开的项目、文件或示例。当在线开发环境中已经存在一个已打开的用户项目时,点击其他的示例或项目文件,将作为参考文件在状态栏中打开,点击之后的状态栏显示如下:

    编辑器

    在线开发中的编辑器用来查询、修改项目或文件的内容,支持支持自动拼写和快捷键操作。详情请参照 在线开发 - 应用开发 - 在线开发

    3D容器

    显示编辑器内代码运行之后的场景及效果

    项目打印日志

    若3D容器场景对应的项目文件或示例中含有类似于:console.log(obj)的代码块,在线开发环境右侧下方的项目打印区域将输相关信息

    好了,内容有些长,网站上扒下来不容易,还请看到的同学移步我们的开发平台试用,免费的哦~

    展开全文
  • 洪流学堂,学Unity快人几步 欢迎一起进入2019年,在新的一年里Unity有什么大动作呢?本文带你浏览你最关心的Unity2019的核心功能! 你可能最关心的功能有哪些呢? 在Unity2019中,将会更加强调Package Manager这种...
  • 过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化、2D/3D 化的项目在工业界应用落地,我们...数百个工业互联网2D/3D可视化案例集...
  • 3D可视化,就是把复杂抽象的数据信息,以合适的视觉元素及视角去呈现,方便大家理解、记忆、传递!因此,我们需要将影响应用系统稳定运行的几个要素数据可视化。比如:机房信息使用情况;配线管理运行情况,管线运行...
  • playmaker(Unity3D)可视化脚本设计 擅长三维动画虚拟仿真从事...
  • 三维可视化智能楼宇系统开发问题总结问题一: 如何提高加载速度问题二: 提升3D可视化智能楼宇多物体渲染效率问题三: 解决三维可视化模型仿真问题问题四:模型大小问题(建模模型过大)问题五:如何架构设计天空盒?...
  • 关于动环监控3D可视化!  3D可视化技术和动环监控进行有效结合。充分利用3D技术在空间展示、设备建模、空间计算和能耗管理等方面的优势。  通过三维立体化虚拟展现数据中心机房、机柜及IT设施等各类场景,实现数据...
  • unity3d 各大插件评测

    2018-01-30 15:00:43
    原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 引言:想用Unity3D制作优秀的游戏,插件是必不可少的。工欲善其事必先利其器。本文主旨是告诉使用Unity3D引擎的同学们如何根据需求选择适当的工具...
  • Unity3d 4.0新动画系统Mecanim初探(一) Unity4.0正式版终于跟大家见面了,早在之前的Bata版中,我们就发现有一个新的动画系统:Mecanim,据说Unity科技想在Unity4.0中植入一个新的GUI,但现在看来我们是看不到了...
  • 目录:【Unity3D从入门到进阶】文章目录及设置这个专栏的初衷 这篇介绍Unity3D面板的功能与使用 二、布局 通过右上角的界面布局选择框可以返回默认的几种界面布局: 我个人比较喜欢这样的布局: 保存布局: 三、...
  • Unity3D的基本界面功能

    2014-03-15 13:57:05
    Unity3D的基本界面非常简单,几个窗口就可以实现几乎全部的编辑功能。主界面如图1.1所示: 场景面板:该面板为Unity3D的编辑面板;您可以将您所有的模型、灯光、以及其他材质对象拖放到当前场景中。构建游戏中...
  • Unity3D游戏开发初探

    2015-03-12 09:19:39
    Technologies开发的一个让轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools ...
  • 一、前言 这是我看到的一片比较完整的讲自定义窗口,自定义组件的教程,讲的比较详细,特意转过来给大家分享一下 二、原文 ...利用学到的东西制作自己的工具(自定义的窗口、Inspector、菜单等等)。...
  • unity3d动画插件iTween-路径动画的制作  iTween是一个动画库, 用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等 到官网看看http://itween.pixelplacement.com 我今天主要是说一下用iTween来制作...
  • 上百例大数据可视化三维GIS可视化数据产品,非常漂亮的设计,大数据可视化,三维GIS可视化,这才是大前端欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与...
1 2 3 4 5 ... 20
收藏数 736
精华内容 294