欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Cocos Creator 3.2 中实现2D地图3D人物45度角RPG游戏效果笔记(摄像机设置方案)

发布时间:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Cocos Creator 3.2 中实现2D地图3D人物45度角RPG游戏效果笔记(摄像机设置方案) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2D地图摄像机

  • 创建一个平面几何体(plane.mesh),设置地图纹理材质
  • 创建一个正交摄像机,视口朝向地图俯视
  • 设置地图Layer类型为map,设置摄像机Visibility为只可见map
    编辑器中效果图
  • 3D人物摄像机

  • 设置一个3D主摄像跟随玩家
  • 设置摄像机Visibility值为只可见avatar,并让摄像机以x轴逆时针旋转45度,视口用脚本自动朝向人物
  • 动态创建的玩家设置Layer为avator
    运行时效果图
  • 界面小地图摄像机

  • 在人物模型头顶设置一个俯视的透视摄像机,设置Visibility值只可见avatar、map
  • 设置摄像机的targetTexture属性获取动态渲染的数据
  • 将渲染的数据设置到Sprite组件中
    运行效果图
  • const colorAttachment = new gfx.ColorAttachment();const depthStencilAttachment = new gfx.DepthStencilAttachment();const pi = new gfx.RenderPassInfo([colorAttachment], depthStencilAttachment, []);this.rt.reset({width: w,height: h,passInfo: pi});let spriteframe: SpriteFrame = this.sprite!.spriteFrame!;let sp: SpriteFrame = new SpriteFrame();sp.reset({originalSize: spriteframe.originalSize,rect: spriteframe.rect,offset: spriteframe.offset,isRotate: spriteframe.rotated,borderTop: spriteframe.insetTop,borderLeft: spriteframe.insetLeft,borderBottom: spriteframe.insetBottom,borderRight: spriteframe.insetRight,});this.camera!.targetTexture = this.rt;sp.texture = this.rt;this.sprite!.spriteFrame = sp;

    总结

    以上是生活随笔为你收集整理的Cocos Creator 3.2 中实现2D地图3D人物45度角RPG游戏效果笔记(摄像机设置方案)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。