Jump to content

sn0wsh00

Members
  • Posts

    83
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by sn0wsh00

  1. I've updated my 1.90 IMAX Theater to version 2. Version 2 can be downloaded here: https://drive.google.com/file/d/1dBXUrW-Xlx3JRocSV4zsAb1n370o_SDv/view?usp=drive_link In addition to mixing together carpets and laminate wood, another thing I noticed about 1.90 IMAX theaters was that they tend to mix blue and white lighting together. Therefore, for this update, I added blue linear lights on the walls and ceiling, and placed smaller white lights in the center of the ceiling. I also added drivers so that you can control the brightness of those lights. Additionally, I noticed that many cinema halls that have been built/renovated in the 2020s have installed walls between the rows. Some people have referred to these walls as privacy barriers, but otherwise, I can't seem to find any documentation on this feature. Regardless, I decided to also add these barriers to give the theater a more premium look. Here are some GIFs comparing version 1 and 2: You can find more information, as well as full-sized renders, on these pages: https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-v2-1337716905 https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-Panorama-v2-1337723793
  2. I've updated my IMAX theater model to version 3. Version 3 can be downloaded here: https://drive.google.com/file/d/1feOVMemS7UYrG-ZNRAxvYXhst3LP3BHm/view Changes: Increased screen height to 20 meters. With a width of 26 meters, this screen is now similar in size to the BFI IMAX. Added new type of low poly seats Increased number of rows from 8 to 9 Changed staircase and terrace layout Added a corrector to the film projector spotlight so that it can more correctly display images on a curved screen Various other texture and lighting changes Here are a couple of GIFs showcasing the differences between version 2 and 3: I've also updated the original post of this thread with version 3 renders. More information, and full-sized renders, can be found on these pages: https://www.deviantart.com/sn0wsh00/art/Blender-IMAX-Theater-v3-1334807132 https://www.deviantart.com/sn0wsh00/art/Blender-IMAX-Theater-360-Panorama-v3-1334811694 In this update, I also slightly warped the projection image so that it would display more properly on a curved screen. Here are the shader nodes to do that: The formula for this distortion, which I guess is some sort of quadratic distortion, can be written as y' = y + ax^2, where a is the purple value in the multiply math node. The effect of the multiply node value on the projected image can be seen below:
  3. Here is an 1.90 IMAX (aka LieMAX) Theater that I created in Blender: Download link: https://drive.google.com/file/d/1MFZKj5gwvrYjbeHcbDaM3ckxteWVBXqx/view?pli=1 While looking through a list of IMAX venues, I noticed a lot of CoLA/Xenon screens have a 16:9 aspect ratio. In turn, I made my screen have a width of 17.8 meters and a height of 10 meters, which makes it similar in size to the IMAX venues in Morrow, Georgia; New Brunswick, New Jersey and Manchester, UK. I also noticed in my research that LieMAX theaters tend to look less austere than 1.43 ones. A lot of GT IMAX theaters lack embellishments and/or have basic looking flooring. Many 1.90 IMAX theaters, on the other hand, seem to really like mixing laminate wood and carpet flooring together, which gives those theaters a warmer appearance. Therefore, unlike my GT IMAX model which mainly uses concrete floors, my 1.90 IMAX model uses wood, rubber and carpet textures for its floors and steps. More information and full-sized renders can be found on these pages: https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-1333587335 https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-Panorama-1333621105
  4. I've been tinkering around with the r.UseLegacyMaintainYFOVViewMatrix variable in Expedition 33 and it has me a little confused. Based on Epic's own description, r.UseLegacyMaintainYFOVViewMatrix is "Whether to use the old way to compute perspective view matrices when the aspect ratio constraint is vertical." It sounds like it means whether or not the game should use vertical instead of horizontal field-of-view, yet in my testing, the horizontal FOV doesn't always seem to match up to the corresponding vertical FOV. With the variable set to true, here's how the game looks like with an FOV of 85: At a 16:9 aspect ratio, the corresponding horizontal FOV is 116.91. Yet, when I set the variable to false and set the FOV to 116.91, I get this view: I have to set the FOV to 112 to make it match the view of the first image: Even more confusingly, with r.UseLegacyMaintainYFOVViewMatrix = true, setting the FOV to 54.5 (top) matches the r.UseLegacyMaintainYFOVViewMatrix = false view at 85 degrees i.e. the corresponding horizontal FOV: So yeah, I have no idea what's going on.
  5. Using EternalTrail's eeVR Blender plugin, I've finally been able to render my IMAX theater as a 360° video in EEVEE. It still took a while a render, but it was still a lot faster than Cycles: DaVinci Resolve cannot export videos wider than 3840 pixels, so instead I used FFmpeg to create the video. Here's the FFmpeg code I used: I tried encoding with libx265, but that caused issues on Youtube. Watching a video projected onto a giant screen in VR/first person is very different from watching the video directly. For one, it makes it more obvious when the video's subject is off-centered. IMAX movies, despite their 1.43 aspect ratio, usually frame their subjects in a widescreen AR such as Scope; all the stuff outside the 2.39 aspect ratio frame is merely meant to fill the viewer's peripheral vision. For VR video, though, Iudex Gundyr is mainly positioned towards the top of the frame, forcing viewers to look towards the ceiling as opposed to the center of the screen (good thing you can't get neck strains from watching 360° videos in browsers). Thankfully, FromSoftware games have a parameter (LockCamParam) that controls non-cutscene camera positions.
  6. Here are two IMAX theaters that I created in Blender. Both 3D models are freely available for download. 1.43 IMAX Theater Screenshots: Download (version 3): https://drive.google.com/file/d/1feOVMemS7UYrG-ZNRAxvYXhst3LP3BHm/view?usp=drive_link Features: 26.0 m x 20.0 m screen. Can be flat or curved. 9 rows of stadium seating 4 seat variations: very low, low, medium and high poly 12 sets of speakers Blender drivers How to use: All speakers are linked to either the Speaker_main or speaker_secondary data blocks. Speaker_main is used by the front and corner speakers, while speaker_secondary is used by the side and ceiling speakers. You only need to edit two speakers (one from each data block) to properly play imported sound Movies are controlled by the Movie_Texture node group inside the Movie_Screen material shader. The Movie_Screen shader can be accessed by selecting a screen mesh. Videos with 1.43 aspect ratios work best with this node. In Cycles, images are projected onto the screen via a spotlight. In EEVEE, the image is displayed directly on the screen, as light projection is not possible in EEVEE. You can find more information and full sized renders on these pages: https://www.deviantart.com/sn0wsh00/art/Blender-IMAX-Theater-v3-1334807132 https://www.deviantart.com/sn0wsh00/art/Blender-IMAX-Theater-360-Panorama-v3-1334811694 1.90 IMAX Theater Screenshots: Download (version 2): https://drive.google.com/file/d/1dBXUrW-Xlx3JRocSV4zsAb1n370o_SDv/view?usp=drive_link Features: 17.8 m x 10 m flat/curved screen 8 rows of seats, with the option of barriers between rows 4 types of seats: BehNam (very low poly), sdmitch40 (low poly), GMOD (medium poly), Overwatch (high poly) 12 sets of speakers Blender drivers to control theater features and light brightness. How to use: All speakers are linked to either the Speaker_main or speaker_secondary data blocks. Speaker_main is used by the front and corner speakers, while speaker_secondary is used by the side and ceiling speakers. You only need to edit two speakers (one from each data block) to properly play imported sound Movies are controlled by the Movie_Texture node group inside the Movie_Screen material shader. The Movie_Screen shader can be accessed by selecting a screen mesh. Videos with 1.43 aspect ratios work best with this node. In Cycles, images are projected onto the screen via a spotlight. In EEVEE, the image is displayed directly on the screen, as light projection is not possible in EEVEE. In the drivers menu, you can enable Style1 or Style2 to change the lighting design. Style1 uses the same white light design from version 1, while Style2 uses a mixture of white and blue lights. You can find more information and full sized renders on these pages: https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-v2-1337716905 https://www.deviantart.com/sn0wsh00/art/Blender-1-90-IMAX-Theater-Panorama-v2-1337723793 I created these Blender file to simulate how it's like to watch videos on a large format IMAX screen. Creating something like this inside a video game engine would certainly be better, but unfortunately, I currently have no idea how to use Unity, Unreal, Source 2 etc. A 360° video could also work as a VR environment, but Blender only renders panoramas natively in Cycles.
  7. sn0wsh00

    Elden Ring

    It sort of bothers me that Godfrey, despite being a Tarnished, is portrayed as kind of a giant, so here's a mod I created that makes him (almost) player-size: I used a C++ runtime library called ERSkeletonman to create this mod.
  8. Apparently the current version of CS:GO's Dust II was originally made for Source 2, so I guess it makes sense that Dust II would look amazing in CS2 despite just being a port. I also like how Valve is upping the blood and gore in what is already a pretty splattery game. It'll look great in Zombie Escape:
  9. Kinda sus these maps are
  10. sn0wsh00

    Blender

    There are two main ways to directly import Source Engine model into Blender: SourceIO or io_import_vmf. In addition to importing meshes, both tools are able to import materials, to a certain extent. For CS:GO models, both tools import materials with no problems. For TF2 models, though, I've had to manually import head, eye and hand textures. The way these two tools convert Source textures/materials into shader nodes are different. SourceIO uses the BlenderVertexLitGeneric node group in their materials, a node group that's pretty complex, while io_import_vmf uses a much simpler shader node setup. I haven't seen anyone compare these shaders yet, so here's a comparison with the TF2 Demoman, rendered in Cycles. io_import_vmf shader is on the left while BlenderVertexLitGeneric is on the right: Here are the head texture shader nodes for io_import_vmf and BlenderVertexLitGeneric. For the io_import_vmf body textures, I set Specular Tint to 0 and Roughness to 0.700: And here's a comparison of the two shaders with CS:GO's Getaway Sally (again, io_import_vmf shader is on the left, BlenderVertexLitGeneric is on the right): Here are the head texture shader nodes for io_import_vmf and BlenderVertexLitGeneric. For the io_import_vmf body textures, I set Specular Tint to 0 and Roughness to 0.396: Overall, despite using fewer nodes, I think the io_import_vmf renders look really similar to the BlenderVertexLitGeneric render. If you don't like the shiny light in the io_import_vmf models, you can simply crank up the roughness.
  11. Every time I use AoE2: Definitive Edition's mod manager, I get to listen to this awesome track:
  12. I thought I could share with you guys four free websites for physics-based rendering textures. All of these website allow you to freely download textures at any available resolution. They also do not require you to create an account. AmbientCG Website: https://ambientcg.com/ # of Textures as of September 2022: 1761 Public Domain CC0 1.0 license Textures come as image files cgbookcase.com Website: cgbookcase.com # of Textures as of September 2022: 535 Public Domain CC0 1.0 license Textures come as image files. Free PBR Website: https://freepbr.com/ # of Textures as of September 2022: 434 $9 fee to use textures commercially Textures comes as image files, but have been prepared for use in Blender, Unity and the Unreal Engine. Poly Haven Website: https://polyhaven.com/ # of Textures as of September 2022: 288 Public Domain CC0 1.0 license Textures can be downloaded as a Blender file with shader nodes and lighting already set up. They can also be downloaded as a GLTF file or as image files. It should be pretty easy to set up the shader nodes. Just connect base color/albedo/diffuse to Base Color, height/roughness to roughness, normal to normal and so forth. If you have an ambient occlusion texture, just combine that with your color texture using a MixRGB node. And here's a comparison of similar textures from each website: (Full sized image can be viewed here) All of these balls were rendered in Cycles using the lighting that came with Poly Haven Blender files. If I had to choose, I would say Poly Haven textures look the best, in that they're a lot bumpier than textures from the other three websites. This might be because Poly Haven normal maps look like this, while the other normal maps look like this.
  13. I recently tested the Mesh to Metahuman tool on some Source Engine models, just to see how well it ports those models into UE5. My results can be divided into three tiers. First is the Louis Tier: Not only did Metahuman make Metahuman Louis look a lot like L4D Louis, but it did so without me making any edits to the mesh's markers outliner. All other Metahumans in this post were generated from edited markers. Next is the "I Guess I See The Resemblance If I Squint" tier: From left to right: Alyx, Chell, Coach, G-Man, Gordon Freeman. And finally, the Zoey tier. I could be the hair, but I don't think so: On a somewhat related note, if you're using Blender and you want to export your mesh as an OBJ for use in UE5, make sure in the transform options that Forward is set to Y Forward and Up is set to Z Up.
  14. Ever wonder how agents look like without their masks and glasses? Why of course you do:
  15. sn0wsh00

    Blender

    I've recently been importing CS:GO buy menu animations into Blender. The thing with buy menu animations is that they are actually two separate SMD animations blended together. I managed to come up with a workflow on how to do this in Blender (this only works player models located inside the custom_player folder): First, I installed Blender Source Tools and io_import_vmf. Then, using Crowbar, I decompiled animset_uiplayer_buymenu.mdl, which is located inside models/player/custom_player/uiplayer In Blender, I imported my CS:GO agent from the custom_player folder using io_import_vmf's Source Engine Model (enhanced) option. In this example, you'll see that I imported John 'Van Healen' Kask (ctm_swat_variantg). Using Blender Source Tools' SMD import, I navigated to the decompiled animset_uiplayer_buymenu_anims folder and imported a_buymenu_motion.smd. Before pressing the import button, I made sure the Bone Append Method was set to Make New Armature. Selecting the imported model's armature, I once again used BST's SMD import and once again navigated to the animset_uiplayer_buymenu_anims folder, this time selecting a non-motion pose (they all start with either ct_ and t_). I also made sure the Bone Append Method was set to Append to Target. When the SMD is imported, you'll see your CS:GO model go into the buy menu pose. This model, though, will be completely still. In a secondary viewport, I changed the viewport to NonLinear Animation, which at this point looked like this. Under the ctm_swat_variantg armature, I clicked the Push Down Action button, causing the buy menu pose to go onto a new track. Now time to add the motion. With the focus still in NLA, I pressed N, which brought up this menu on the right. In that menu, I clicked the Dope Sheet button and selected the a_buymenu_motion option . Finally, under Extrapolation, I selected Hold Forward, while for Blending, I selected Add (the menu should look like this). Now you have a model that not only has a buymenu pose, but also looks alive. I'm a noob at Blender, so it would be nice to see if anyone else here has a better way to combine animations.
  16. There's a debate? Why would anyone prefer vanilla Hammer over Hammer++?
  17. If you've ever played Borderland 3's Bounty of Blood DLC, you might remember that the telezappers distort your screen every time you look at them. Well, with the help of trigger_look, trigger_multiple, logic_timer and logic_relay entities, I recreated this effect in CS:GO: You can download the map (tr_warp_screen) here. In essence, the map checks every 0.1 seconds to see whether the player is looking in the general direction of the portal/wormhole. If during that check the player is looking in the direction of the wormhole, then the map will distort the player's screen. If not, then the map will clear all overlays. If you want more details on how to do this in Hammer: First, create an info_target entity named "target_look_1" inside the wormhole/portal. Create 1 logic_timer entity and 2 logic_relay entities. Name the logic_timer entity "timer_1" and the two logic_relay entities "relay_1" and "relay_2." Set timer_1 to start disabled. For relay_1 and relay_2 create the following outputs: relay_1, relay_2. Relay_2 will be responsible for applying distortion overlay (effects/tp_eyefx/tp_eyefx) when the player looks at target_look_1, while relay_1 will be responsible for removing the distortion overlay when the player looks away from target_look_1 (via the command "r_screenoverlay effects/blank_fx") Now create a trigger_look brush entity with the following class info. Name this trigger_look entity "trigger_look1." This trigger_look brush must cover all the locations where you want the screen distortion effect to occur. For this map, I simply set this area to be the whole teleportation room. Create these outputs for trigger_look1. The timeout key value is the time trigger_look must wait until firing its OnTimeout output. In other words, if the player enters trigger_look1 but is not looking at target_look_1 after 0.02 seconds, then trigger_look will trigger relay_1, clearing the screen of all overlays. Moving back to timer_1, create the outputs seen here. What this will do is enable and disable trigger_look1 every 0.1 seconds Now create a trigger_multiple brush and have it cover the same area as your trigger_look entity. Name this brush "trig_mult" and set its keyvalues to the following values (ignore origin). Under trig_mult's output tabs, create these outputs. What this will do is enable timer_1 while the player is inside trig_mult and disable timer_1 (and clear all overlays) when they are outside trig_mult. Finally, create a logic_auto and a point_servercommand entity, naming the the point_servercommand entity "point_server." In logic_auto, set output to "OnMapSpawn," target entity to "point_server," via this input to "command", and parameter to "r_screenoverlay effects/blank_fx." What this command will do is clear the screen distortion effect at the start of each round. While creating tr_warp_screen, I also learned how to import custom HDR cubemaps in the map. I needed custom cubemaps because buildcubemaps creates the following cubemap for the wormhole: This cubemaps makes it look like you will be flying right into the teleportation machine if you go through the wormhole. When you actually go through the portal, though, you'll be teleporting out in the opposite direction, something this cubemap more correctly conveys: @Yanzl created this tutorial on how to create custom HDR cubemaps for CS:GO. For the cubemap crosses, here's the cross buildcubemaps (I think) created for my map: And here's the modified cross I made for the the custom cubemap: One final word. This custom cubemap looks correct only when you're looking at the wormhole from the front (which, on my map, is the X direction). If you look at the wormhole from the sides or from above, then this cubemap will appear incorrectly mirrored.
  18. For those of you who have played the Bounty of Blood DLC from Borderlands 3, you might remember that the telezappers will distort your screen every time you look at them. Well, with the help of trigger_look, trigger_multiple, logic_timer and logic_relay entities, I (sort of) recreated this effect in CS:GO: You can download this map/demo here.
  19. Thanks, disabling scaling texture lock worked! In fact, I wished I had known about texture lock in general, given that some of my maps have brushes rotated at non-90 degree angles. I guess even after all these years I'm still a noob at Hammer.
  20. I've finally started working on a map in Hammer++ and so far, it works pretty much the same as regular Hammer. That it, except for brush textures, in that the texture scales alongside your brush. In other words, if you stretch your brush along the x-axis, then the texture will be stretched along the x-axis, unlike in regular Hammer where the texture scale will remain the same no matter how much your manipulate the brush. I honestly find this really annoying, given I have to frequently use the face edit tool to make sure the texture scale remains consistent. Otherwise, I've generally liked what I've seen so far with Hammer++.
  21. Thank you for your custom cubemaps tutorial, especially your vtex.bat tool! I originally tried to create custom HDR cubemaps by importing TGA files with VTFedit. However, this led to cubemaps looking like this. By creating a PFM file of the cubemap cross and using vtex.bat to generate the VTF, I was finally able to create a proper looking HDR cubemap.
  22. Renaming SpaceEngine cubemap faces to Source Engine cubemap faces can be tedious, so I wrote a batch program to speed up this process: This script in particular renames the VTF files that are created with VTFEdit's import tools.
  23. sn0wsh00

    Hammer++

    With Hammer++ now supporting CS:GO, I thought it would be good to create a topic where we can share our thoughts the tool. For me, I haven't compiled anything with it yet, but so far I'm really liking all the new features, especially lighting and materials preview. Only brushes cast shadows in the preview, but it's still better than not having any lighting preview at all. Here's how this looks like for my map fy_neon_fangs: The only problem I've encountered so far is that, unlike in vanilla Hammer, I'm unable to use the arrow keys to rotate the camera in the 3D view. They still don't work even when I unbind those keys from the nudge actions. But that's just a very minor gripe, and I'll probably get used to the mouselook toggle technique anyways.
  24. Here are some skyboxes that I created in SpaceEngine that I though I could share with you guys, divided by theme. These skyboxes use VTF version 7.5 and were originally created for CS:GO. However, they do work with GMOD and Source Filmmaker. Earth-Moon system EarthSpace01: Earth from medium Earth orbit (1 skybox) EarthSpace02 pack: Earth from the Earth-Moon L5 Lagrange point (3 skyboxes) EarthSpace03 pack: Earth from geostationary orbit (3 skyboxes) EarthSpace04 pack: Earth from low Earth orbit (3 skyboxes) Nebulas Nebula Skybox Pack #1: 6 skyboxes Nebula Skybox Pack #2: 6 skyboxes Skybox Packs SpaceEngine Skybox Pack #1: 9 skyboxes SpaceEngine Skybox Pack #2: 5 skyboxes SpaceEngine Skybox Pack #3: 9 skyboxes SpaceEngine Skybox Pack #4: 9 skyboxes Other SpaceEngine skyboxes Black Hole skyboxes: 2 skyboxes Installation05_01: Features Halo's Installation 05 (1 skybox) MoonWaterHorizon skyboxes: 2 skyboxes StarField skyboxes: 2 skyboxes These skyboxes feature either 1024x1024 or 2048x2048 faces. Most of these files are compressed with either BGRA8888 or DXT5. I've found DXT5 to be about as good in quality as BGRA8888, but with a much smaller file size. The only major difference I found between DXT5 and BGRA8888 are with sun halos, in that sun halos are a lot more apparent with DXT5 than with BGRA8888. Fortunately, skybox faces don't need have the same compression format, so some faces can be DXT and other faces can be BGRA8888. And now some screenshot samples: MoonHab_02 (from SpaceEngine Skybox Pack #1) EarthSpace03 (from the EarthSpace03 pack) Nebula_04 (from Nebula Pack #1) Installation05_01, on the map csgo_halo_ascension (my CS:GO port of Halo's Ascension map) IceMoon_01 (from SpaceEngine Skybox Pack #3) VenusLike_02 (from SpaceEngine Skybox Pack #4)
  25. I recently created a geodesic dome model for my Vertumnus fight yard maps (Day version, Night version) in CS:GO. I used this video as a guide on how to create the dome: This is probably something very basic for a lot of you guys, but as a 3D modeling noob, I'm pretty proud that I was able to create and import this model into CS:GO without many issues. I mean, Blender isn't exactly MS Paint. I also created a collision mesh for the dome: Model download link: https://drive.google.com/file/d/13xt4h3H4tMMPuA-JY45kW2l-BTw61vrJ/view?usp=sharing
×
×
  • Create New...