unity3d UGUI九宫格纹理拉伸的使用

本篇文章我们来学习下在unity new ui即UGUI九宫格纹理拉伸的使用,不论是游戏中的UI,还是应用中的UI,纹理九宫格拉伸都是必不可少的,因为采用这种拉伸方式,可以最大化的节省纹理资源,任意缩放图片还能保持一个不错的效果,因此在手游和app中用的较多。我们先学习下九宫格拉伸的原理先,如下图所示!

1.原理

UGUI九宫格

把纹理用4条线分割成9部分(如上图),通过观察可以发现,5是最规则的形状(矩形),其次是2,6,8,4(矩形,但是和四个角有公共边),最后是四个角1,3,9,7(圆角矩形)

规则的图形在拉伸之后的效果是比较好的,如果是不规则的图形,则会在拉伸之后变形!

根据上图做拉伸制定规则:

(1)保证四个角1,3,9,7不做任何拉伸
(2)与四个角有公共边的四个矩形2,6,8,4做单向拉伸,即保证与四个角的公共边不拉伸,例如2,8只进行横向拉伸,4,6只进行纵向拉伸
(3)中间部分5做双向拉伸,即横向,纵向同事拉伸

UGUI九宫格

下面就讲讲Unity3d中使用ugui中如何使用九宫格:

选中纹理资源,点击下图中红框按钮,打开sprite编辑器:

UGUI九宫格

设置sprite的边界,其中蓝色的为可用图片边界,绿色线则为九宫格的裁剪线,初始时,蓝色和绿色重叠,鼠标放在下图中绿色节点上即可编辑九宫格裁剪线:

UGUI九宫格

设置好图片后,就可以把sprite赋值给ui,看效果去了,并将图片类型选择为sliced,还要记得勾上Fill Center,你可以试试不勾选看看效果:

UGUI九宫格

UGUI九宫格

然后你就能看到的效果:

UGUI九宫格

好吧,绿色线条的作用知道了,现在就看看蓝色线条的作用吧。。

UGUI九宫格

看到了吧,蓝色线条是对图片做裁剪的,当然一张图片上可以有多个裁剪图,每个裁剪图可以有一个九宫格。但是sprite就需要改成multiple咯。

UGUI九宫格

 

最终,本文想说的其实是我自己遇到的一个坑。希望后来的人能轻松解决:

其实unity3d的九宫格一直都知道怎么用,但是突然我发现我用不了,操作步骤也没错,弄了一下午头都大了。结果我靠搜索技术,在这篇博客上发现了一点儿蛛丝马迹然后解决了问题:

修改下面红色地方的参数,默认是100

UGUI九宫格

UGUI九宫格

UGUI九宫格

各位应该是看到区别了,当canvas或者是图片的每单位多少像素修改后,图片大小显示大小其实是不一样的。如果图片设置为10,canvas设置为100,那就相当于九宫格中非中心的图片区域大小缩放了10倍,而我由于测试过canvas参数,将其改为1,后来见没效果,没有改为100,结果可想而知,我所有九宫格在sliced模式下,只能看到九宫格中心区域。如果不仔细看,边缘区域根本不可见。

至此,我的问题解决了,相信大家也会使用unity3d中UGUI的九宫格了。

好了本篇unity3d教程到此结束,下篇我们再会!


MySQL Exporter 是一个监控 MySQL 数据库的工具,可以将 MySQL 的监控指标暴露为 Prometheus 可以抓取的格式。以下是 MySQL Exporter 可以监控的指标列表: - mysql_active_threads - mysql_bytes_received - mysql_bytes_sent - mysql_commands_total - mysql_connections_aborted - mysql_connections_total - mysql_created_tmp_disk_tables - mysql_created_tmp_files - mysql_created_tmp_tables - mysql_flush_commands - mysql_innodb_active_transactions - mysql_innodb_buffer_pool_bytes_data - mysql_innodb_buffer_pool_bytes_dirty - mysql_innodb_buffer_pool_pages_data - mysql_innodb_buffer_pool_pages_dirty - mysql_innodb_buffer_pool_pages_flushed - mysql_innodb_buffer_pool_pages_free - mysql_innodb_buffer_pool_pages_misc - mysql_innodb_buffer_pool_pages_total - mysql_innodb_buffer_pool_read_ahead - mysql_innodb_buffer_pool_read_ahead_evicted - mysql_innodb_buffer_pool_read_requests - mysql_innodb_buffer_pool_reads - mysql_innodb_buffer_pool_wait_free - mysql_innodb_buffer_pool_write_requests - mysql_innodb_checkpoint_age - mysql_innodb_current_row_locks - mysql_innodb_data_fsyncs - mysql_innodb_data_pending_fsyncs - mysql_innodb_data_pending_reads - mysql_innodb_data_pending_writes - mysql_innodb_data_read - mysql_innodb_data_reads - mysql_innodb_data_written - mysql_innodb_dblwr_pages_written - mysql_innodb_dblwr_writes - mysql_innodb_deadlocks - mysql_innodb_history_list_length - mysql_innodb_ibuf_free_list - mysql_innodb_ibuf_merged - mysql_innodb_ibuf_merges - mysql_innodb_ibuf_size - mysql_innodb_log_waits - mysql_innodb_log_write_requests - mysql_innodb_log_writes - mysql_innodb_lsn_current - mysql_innodb_lsn_flushed - mysql_innodb_lsn_last_checkpoint - mysql_innodb_mem_adaptive_hash - mysql_innodb_mem_dictionary - mysql_innodb_mem_total - mysql_innodb_mutex_os_waits - mysql_innodb_mutex_spin_rounds - mysql_innodb_mutex_spin_waits - mysql_innodb_num_open_files - mysql_innodb_num_open_files_hist - mysql_innodb_os_log_fsyncs - mysql_innodb_os_log_pending_fsyncs - mysql_innodb_os_log_pending_writes - mysql_innodb_os_log_written - mysql_innodb_pages_created - mysql_innodb_pages_read - mysql_innodb_pages_written - mysql_innodb_pending_aio_log_ios - mysql_innodb_pending_aio_sync_ios - mysql_innodb_pending_buffer_pool_flushes - mysql_innodb_pending_checkpoint_writes - mysql_innodb_pending_ibuf_aio_reads - mysql_innodb_pending_log_flushes - mysql_innodb_pending_log_writes - mysql_innodb_pending_normal_aio_reads - mysql_innodb_pending_normal_aio_writes - mysql_innodb_queries_inside - mysql_innodb_queries_queued - mysql_innodb_read_views - mysql_innodb_rows_deleted - mysql_innodb_rows_inserted - mysql_innodb_rows_read - mysql_innodb_rows_updated - mysql_innodb_s_lock_os_waits - mysql_innodb_s_lock_spin_rounds - mysql_innodb_s_lock_spin_waits - mysql_innodb_sem_waits - mysql_innodb_sem_wait_time_ms - mysql_innodb_tables_in_use - mysql_innodb_x_lock_os_waits - mysql_innodb_x_lock_spin_rounds - mysql_innodb_x_lock_spin_waits - mysql_max_used_connections - mysql_open_files - mysql_open_streams - mysql_open_tables - mysql_opened_tables - mysql_prepared_stmt_count - mysql_qcache_free_blocks - mysql_qcache_free_memory - mysql_qcache_hits - mysql_qcache_inserts - mysql_qcache_lowmem_prunes - mysql_qcache_not_cached - mysql_qcache_queries_in_cache - mysql_qcache_total_blocks - mysql_queries - mysql_questions - mysql_select_full_join - mysql_select_full_range_join - mysql_select_range - mysql_select_range_check - mysql_select_scan - mysql_slave_lag_seconds - mysql_slow_queries - mysql_sort_merge_passes - mysql_sort_range - mysql_sort_rows - mysql_sort_scan - mysql_table_locks_immediate - mysql_table_locks_waited - mysql_table_open_cache_hits - mysql_table_open_cache_misses - mysql_table_open_cache_overflows - mysql_threadpool_idle_threads - mysql_threadpool_threads - mysql_threads_cached - mysql_threads_connected - mysql_threads_created - mysql_threads_running 上述指标可以帮助你监控 MySQL 数据库的性能和状态,例如连接数、查询数、缓存命中率、锁等待情况、InnoDB 的缓存和 IO 操作等。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值